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

React Native - undefined is not an object (evaluating 'this.props.navigation.navigate')

其实我是RN的新手, 我有一个问题,我到处研究但一无所获!

当我尝试从一个屏幕导航到另一个屏幕时出现此错误 "undefined is not an object (evaluating 'this.props.navigation.navigate')"

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

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

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

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

您不需要将 navigation 属性手动传递给每个组件。

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

navigation如果您没有这样做,道具将不可用。

this.props.navigation: the navigation prop is passed in to every screen component (definition) in stack navigator

如果你想从非路由屏幕访问它,例如中间件(如果你正在使用 redux),那么你必须创建一个 NavigationService.

此处有更多详细信息 - Navigating without navigation prop