React Native - 未定义不是一个对象(评估'this.props.navigation.navigate')
2018-05-12
381
其实我是 RN 的新手, 我遇到了一个问题,我到处都研究过了,但一无所获!
当我尝试从一个屏幕导航到另一个屏幕时,出现了这个错误 “undefined 不是对象(评估‘this.props.navigation.navigate’)”
这是我的组件和整个项目: https://github.com/saidziani/News/blob/other-articles/components/Rowstd.js
2个回答
您必须将 this.props.navigation 从父级传递到组件,然后才能使用它。
就您而言,我认为您应该将 this.props.navigation 从 Home.js 传递到 Rowstd,如下所示:
<Rowstd article={row} index={parseInt(i, 10)} navigation={this.props.navigation} />
Ali SabziNezhad
2018-05-12
您不需要手动将
navigation
属性传递给每个组件。
只需确保您已将
<Rowstd />
组件添加到路由堆栈即可。
如果您尚未执行此操作,则
navigation
属性将不可用。
this.props.navigation
: the navigation prop is passed in to every screen component (definition) in stack navigator
如果您想从非路由屏幕(例如中间件)访问它(如果您使用
redux
),那么您必须创建一个
NavigationService
。
更多详细信息请点击此处 - 无需导航属性即可导航
WitVault
2018-05-12