React Native Navigation,如何在 Class Components 之间传递和使用 Props?

Posted

技术标签:

【中文标题】React Native Navigation,如何在 Class Components 之间传递和使用 Props?【英文标题】:React Native Navigation, how do you pass and use Props between Class Components? 【发布时间】:2020-08-11 21:23:48 【问题描述】:

导出默认类 LoginScreen 扩展 React.component

render () 
     return (
         <Button = ()=>this.props.navigation.navigate('Home', number: 5 />
      )

类 HomeScreen 扩展 React.Component 使成为() 返回( this.props // 我想显示传递的数字 )

【问题讨论】:

请提供正确的代码sn-p 【参考方案1】:

初始化:-

constructor(props) 
    super(props);
    this.params = this.props.navigation.state.params;

检索数据:-

console.log(this.params.name);
console.log(this.params.about);

如果你在任何元素中显示,你也显示像

<Text>this.params.name</Text> 

这是完整的示例代码。也许它会帮助你理解它

https://www.google.com/amp/s/aboutreact.com/react-native-pass-value-from-one-screen-to-another-using-react-navigation/amp/

【讨论】:

感谢您的帮助,我不明白为什么您的解决方案不适用于我的解决方案。 感谢您的帮助,我尝试了上述方法,但出现错误提示“TypeError: undefined is not an object (evalating '_this2.props.navigation.state.params' . if i console. log(this.props) 我有一个名字很长的对象:'Paul',但我无法显示这个名字。 我也是 JSON.stringify(this.props) 并且它显示了对象,但我仍然无法通过 this.props.name 或任何其他方式显示名称本身。谢谢 google.com/amp/s/aboutreact.com/…查看此链接您将获得完整的求解示例 感谢您的帮助。我找到了答案。这对我有用。 this.props.route.params.name【参考方案2】:

我找到了答案,非常感谢您的帮助。为了显示我使用了 this.props.route.params.name

【讨论】:

以上是关于React Native Navigation,如何在 Class Components 之间传递和使用 Props?的主要内容,如果未能解决你的问题,请参考以下文章

react-native-router-flux

无法从“App.js”解析“@react-navigation/native”-React Native + 如何解决?

react-native-router-flux(基础内容)

使用 wix@react-native-navigation 运行 react-native 应用程序时出错

React Native Navigation - 将Stack Navigator的navigationOptions放在Bottom Tab Navigator中

React Navigation 与 React Native Navigation [关闭]