实际上我是RN的新手, 我有一个问题,我到处研究但什么都没发现!
当我尝试从屏幕导航到另一个屏幕时出现此错误“undefined不是对象(评估'this.props.navigation.navigate')”
这是我的组件和整个项目:https://github.com/saidziani/News/blob/other-articles/components/Rowstd.js
答案 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