反应本机导航子级父级

时间:2019-12-15 16:47:40

标签: javascript node.js reactjs react-native navigation

我一直在尝试制作导航组件,但是遇到错误。

这是我的StackNavigation视图的体系结构:

const App = createStackNavigator({
    Register:{
        screen:Registration,
    },
    Home: {
        screen: SwipeNavigator({

            Home: {
                screen: Record,
                left: 'QRcode',
                right: 'Conv',
                top: 'Profil',

            },

            QRcode: {
                screen: QRcode,
                type:'push'
            },

            Conv: {
                screen: Conversation,
                type:'push'
            },
            Profil: {
                screen: Profil,
                type:'push'
            },



        }),
        navigationOptions: {
            header: null,
        },
    }
});

不幸的是,当我在SwipeNavigator中时,我无法注册。我收到一条错误消息,指示this.props.navigation未定义。

有人知道我为什么会遇到此错误以及如何解决它吗?

预先感谢您的回复

1 个答案:

答案 0 :(得分:0)

我为您提供了一个解决所有this.props.navigation问题的好方法:)我只是从另一个问题中复制/粘贴了先前的答案。它说明了如何使用它以及如何使用新的React Navigation Helper来实现它。如果您对此有任何疑问,我会在这里为您提供帮助。它只会解决您的整个导航问题。

  

我创建了一个库来处理导航问题,并且   防止使用this.props.navigation道具。

     

React Navigation Helpers

     

用法非常简单。在您的App.js或导航器上,只需将   全局级别的导航器。

import NavigationService from "react-navigation-helpers";


<MainNavigator
  ref={navigatorRef =>
    NavigationService.setGlobalLevelNavigator(navigatorRef)
  }
/>
     

然后,通过以下简单代码段在项目中使用ANYWHERE:

NavigationService.navigate("home")
     

当然,您仍然需要导入NavigationService:)

     

您可以在图书馆的自述文件中找到更详细的文档。如果你   还有一个问题,随时问,我会很乐意为您提供帮助。