React Native:React Navigation StackNavigator无效。得到错误:" undefined不是一个对象(评估' this.props.navigation.navigate')"

时间:2017-05-17 15:34:11

标签: javascript reactjs react-native undefined react-navigation

我正在尝试使用React Navigation和StackNavigator来浏览我的应用程序。

我有一个onPress={() => navigate('DetailsScreen')的按钮,我希望这会将我带到DetailsScreen,但我收到以下错误:

  

E ReactNativeJS:undefined不是一个对象(评估' this.props.navigation.navigate')

我需要添加什么才能使其正常工作?

在这里查看我的代码: https://gist.github.com/chapeljuice/bef4b0a4dedef2994c81f3634b81aa43

1 个答案:

答案 0 :(得分:4)

您的组件不能识别导航(它不是屏幕)。因此,您有两种常见的解决方案:

使用父

从父组件传递导航道具(如果它是一个屏幕)。

<Card navigation={navigation} />

这是最简单的解决方案。

使用高阶组件withNavigation

如果父组件不能识别导航,或者它太复杂而无法传递道具,则可以使用HOC withNavigation

export default withNavigation(connect(mapStateToProps)(Card))

然后,您将获得navigation道具。