通常我们这样做:
onClickMore = (user) => {
this.props.navigation.navigate('Details', { ...user });
};
然后在我们需要它的组件中,我们从navigation
以下位置加载:
const { picture, name, email, phone, login, dob, location } = this.props.navigation.state.params;
注意:请参阅我使用了...
作为 es6 语法的扩展运算符来传递对象,并查看我如何使用this.props.navigation.state.params
然后解构它来导入/读取目标组件。还有其他方法可以编写相同的语法。
this.props.navigation
可在任何正在呈现的组件中使用 - 直接由 React Navigation 提供(请参阅此处的文档)
现在,navigation
它像桥一样工作,以某种方式传递数据和获取数据,同时进行屏幕转换。(请参阅此处的文档
有关更多信息,请参阅本文(这可能会有所帮助):https :
//hackernoon.com/getting-started-with-react-navigation-the-navigation-solution-for-react-native-ea3f4bd786a4
几个检查点:
- 在将它传递给
navigation
.
this.props.navigation
在将其他组件/屏幕的数据传递给, 之前,您拥有对 的有效引用。
- 在目标组件/屏幕中,检查您是否对
this.props.navigation.state
.
您可以使用console.log()
函数调试所有这些。
此外,如果您在完成上述调试后将代码上传到 Git 上会更有帮助,因此您会得到正确的响应。可能是其他地方的问题。