【问题标题】:Why my stacknavigator works with one screen and not with another one?为什么我的 stacknavigator 在一个屏幕上工作,而不是在另一个屏幕上工作?
【发布时间】:2019-04-08 21:03:17
【问题描述】:

我想跨屏幕从相机屏幕导航到摘要屏幕,但它不起作用:

        // Camera screen
        if (data.data){
            const data = {date,name,place}

           Alert.alert(
               'Info', 'Show', 
                [{text: 'More', onPress: () => this.props.navigation.navigate('Summary')}],          
               )
        })}

我已经定义了一个堆栈导航器,如下所示:

        //Navigator file
        import SummaryScreen from  '../screens/SummaryScreen';

         export const SummaryStack = createStackNavigator({
         Summary : SummaryScreen
         });

有趣的是,当我将 this.props.navigation.navigate('Summary') 替换为 this.props.navigation.navigate('Home') 时,它会起作用。

这是主屏幕导航器:

const HomeStack = createStackNavigator({
Home: HomeScreen
});

const ScanStack = createStackNavigator({
Camera: CameraScreen
});

export default createBottomTabNavigator({
HomeStack,
CameraStack
});

【问题讨论】:

  • 我们可以看到根导航吗,因为我认为这是正常的总结不起作用,因为您需要将此添加到根导航中,我认为这里是您的 createBottomTabNavigator。
  • 我没有定义任何根导航,只有 stcacknavigators。我在主页中创建了一个底部选项卡,因此创建了底部标签导航器。

标签: react-native navigation navigator stack-navigator


【解决方案1】:

要使其正常工作,请将 SummaryStack 添加到您的主堆栈中

const HomeStack = createStackNavigator({
   Home: HomeScreen,
   Summary: SummaryStack
});

【讨论】:

  • 很高兴听到这个消息:)你能把它作为答案吗:)
猜你喜欢
  • 2020-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-11
  • 2023-03-17
  • 2022-11-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多