我一直在尝试制作导航组件,但是遇到错误。
这是我的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未定义。
有人知道我为什么会遇到此错误以及如何解决它吗?
预先感谢您的回复
答案 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:)
您可以在图书馆的自述文件中找到更详细的文档。如果你 还有一个问题,随时问,我会很乐意为您提供帮助。