React Native - undefined不是对象(评估'this.props.navigation.navigate')

时间:2018-05-12 11:53:33

标签: react-native react-navigation react-component

实际上我是RN的新手, 我有一个问题,我到处研究但什么都没发现!

当我尝试从屏幕导航到另一个屏幕时出现此错误“undefined不是对象(评估'this.props.navigation.navigate')”

这是我的组件和整个项目:https://github.com/saidziani/News/blob/other-articles/components/Rowstd.js

2 个答案:

答案 0 :(得分:0)

您必须将this.props.navigation从父级传递给组件,然后才能使用它。

在你的情况下,我认为你应该将Home.js中的this.props.navigation传递给Rowstd:

<Rowstd article={row} index={parseInt(i, 10)} navigation={this.props.navigation} />

答案 1 :(得分:0)

您无需手动将navigation道具传递给每个组件。

只需确保已将<Rowstd />组件添加到路由堆栈中。

如果你还没有这样做,

navigation道具将无法使用。

  

this.props.navigation:导航道具传递到堆栈导航器中的每个屏幕组件(定义)

如果您想从非路由屏幕(例如中间件(如果您使用的是redux))访问它,则必须创建NavigationService

此处有更多详情 - Navigating without navigation prop