我正在尝试使用React Navigation和StackNavigator来浏览我的应用程序。
我有一个onPress={() => navigate('DetailsScreen')
的按钮,我希望这会将我带到DetailsScreen
,但我收到以下错误:
E ReactNativeJS:undefined不是一个对象(评估' this.props.navigation.navigate')
我需要添加什么才能使其正常工作?
在这里查看我的代码: https://gist.github.com/chapeljuice/bef4b0a4dedef2994c81f3634b81aa43
答案 0 :(得分:4)
您的组件不能识别导航(它不是屏幕)。因此,您有两种常见的解决方案:
从父组件传递导航道具(如果它是一个屏幕)。
<Card navigation={navigation} />
这是最简单的解决方案。
withNavigation
如果父组件不能识别导航,或者它太复杂而无法传递道具,则可以使用HOC withNavigation
:
export default withNavigation(connect(mapStateToProps)(Card))
然后,您将获得navigation
道具。