我有两个独立的屏幕
现在,在登录屏幕上,我将请求的API数据存储在状态(this.state.data)内,并且要在仪表盘屏幕上显示的存储的数据,例如姓名或年龄,国家/地区或其他内容。现在如何同步这两个屏幕,我正在使用React Navigation 2.0
答案 0 :(得分:1)
登录请求成功后,您需要将当前组件更改为“仪表板”组件-
可以通过两种方式完成
<Dashboard data={this.state.data} />
并以this.props.data
的形式在仪表板屏幕中获取它this.props.navigation.navigate('Dashboard', { data: this.state.data });
来完成,然后在Dashboard组件中可以通过this.props.navigation.state.params.data
来获取它。希望它会有所帮助:)
答案 1 :(得分:1)
如果您正在做一个小型项目,则可以通过道具来完成,如@Aseem Upadhyay
所述但是请注意,随着项目的增长,此方法将无效。假设您有多个按层次结构分布的屏幕,其中一个子屏幕需要将数据传递到另一个节点上的另一个屏幕。为了通过道具来做到这一点,父组件有必要将这些值传递给两个屏幕。这种表格很难管理。
执行此操作的理想方法是通过redux。使用它,您可以创建变量的共享存储,因此您可以在应用程序中的任何位置访问它们。以下链接演示了如何在项目中配置redux。 https://blog.cloudboost.io/getting-started-with-react-native-and-redux-6cd4addeb29
建议对需要共享的变量使用redux。如果只有局部组件变量,则不需要使用它。
我希望这可以为您的项目提供帮助。
拥抱!