javascript - React Native : React Navigation StackNavigator not working. 获取错误 : "undefined is not an object (evaluating ' this. props.navigation.navigate')”

标签 javascript reactjs react-native undefined react-navigation

我正在尝试使用 React Navigation 和 StackNavigator 在我的应用中导航。

我有一个带有 onPress={() => navigate('DetailsS​​creen') 的按钮,我希望它会带我到 DetailsS​​creen,但我'出现以下错误:

E ReactNativeJS: undefined is not an object (evaluating 'this.props.navigation.navigate')

我需要添加什么才能让它正常工作?

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

最佳答案

您的组件不支持导航(它不是屏幕)。因此,您在这里有 2 种常见的解决方案:

使用父级

从您的父组件(如果它是一个屏幕)传递导航 Prop 。

<Card navigation={navigation} />

这是最简单的解决方案。

使用高阶组件withNavigation

如果父组件不支持导航,或者它太复杂而无法传递 Prop ,您可以使用 HOC withNavigation :

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

然后您将可以使用 navigation Prop 。

关于javascript - React Native : React Navigation StackNavigator not working. 获取错误 : "undefined is not an object (evaluating ' this. props.navigation.navigate')”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44029208/

相关文章:

javascript - 为什么我的 React 组件没有在 foreach 中呈现我想要的内容,但会 console.log 数组?

reactjs - 我在react-native和redux中处理API调用的地方

javascript - 何时从在 this.props 与 this.state 中存储嵌套组件变量切换

react-native - 在 React Native 中页面加载时 StatusBarIOS 颜色变化

javascript - 覆盖后按 react native 路由器通量

javascript - 在 html 页面上显示命令行输出

javascript - 如何清除剑道组合框的值

javascript - 如果用户没有回答所有问题,则带有反馈的 HTML 表单

reactjs - 如何使用字段数组删除formik值

ios - 拨出电话的 CallKit UI