因此,我使用React-Native-native-router-flux有一个TabNavigation场景。当按下第二个选项卡时,我想将状态从初始选项卡屏幕组件共享到第二个选项卡屏幕组件。最好的方法是什么?
这是我的TabNavigation场景,带有两个孩子选项卡:
<Scene key="showPlaceTabBar" tabs={true} labelStyle={{fontSize: 20, marginBottom: 15}} hideNavBar>
<Scene key="postsTab" title="Posts"
onPress={()=> {Actions.posts()}}>
<Scene hideNavBar={false} key="showPlace" component={PlacesShow} title="Show Place" />
</Scene>
<Scene hideNavBar={false} key="createPostTab" title="Create Post"
onPress={()=> {Actions.createPost({placeName: this.props.placeName})}}>
<Scene key="createPost" component={CreatePost} title="Create Post" />
</Scene>
</Scene>
我想将一些状态/道具数据从Praceshow组件发送到CreatePlace组件。操作方法无法访问Praceshow组件道具/状态,因为它居住在定义屏幕的位置。我应该怎么做到这一点?
我已经研究了redux,但是我很难理解它到底是什么。这是Redux的工作吗?我较早地使用了反应游动,但是很难自定义纳维尔,当我切换到react-native-nive-router-flux时,一切都变得容易10倍。基本上,这是我应用程序所需的最后一个导航功能,宁愿不将新库/切换介绍回react-ncivation,除非我绝对需要(自定义导航组件很难理解,我很确定这是我的应用需要什么)。
感谢您的帮助。
AsyncStorage
__
由于您正在使用React-Native,因此您可以使用AsyncStorage
接口来利用带下划线的设备的共享存储。
持久:
await AsyncStorage.setItem('@MySuperStore:key', 'I like to save it.');
检索:
const value = await AsyncStorage.getItem('@MySuperStore:key');
官方文档中的更多详细信息。