如何在不导航到另一个屏幕的情况下将信息从一个屏幕发送到另一个屏幕?

我是 React Native 的新手,我一直在尝试制作一个活动组织者,如果你注册一个活动,它会被添加到另一个包含你的日程安排的页面。但是,我一直在查看文档,我似乎无法找到如何在不实际导航到另一个屏幕的情况下将数据从一个屏幕发送到另一个屏幕。换句话说,我想要这个navigation.navigate('Schedule', {name: eventName, time: eventTime});但没有导航。



智慧大石
浏览 86回答 2
2回答

慕斯709654

以下是一些建议:1. AsyncStorage:您可以将它们保存到 AsyncStorage(这是手机上硬件支持的安全存储),并且可以随时检索它们。假设用户的日程安排是这些事件的数组,例如:var a = [{ name: eventName, time: eventTime }, { name: eventName, time: eventTime }]你可以这样做:AsyncStorage.setItem('Schedule', JSON.stringify(a));AsyncStorage.getItem('Schedule');见:https ://github.com/react-native-community/async-storage2.后端将事件保存到后端服务器并从其他页面检索它们。3. Redux 或 React Hooks(高级) https://medium.com/swlh/react-global-state-with-hooks-f163e49f90f9 https://redux.js.org/introduction/getting-started/4. 带 React Hooks 的全局状态我最喜欢的使用内置 React Hooks 管理全局状态的新方法

慕慕森

您可以拥有一个全局对象来存储屏幕之间的共享数据。即使您阅读Redux文档,redux 的使用案例之一是当您有一些数据要在不同屏幕之间共享时。所以这是全局对象的代码(单例模式)export class GlobalState {  public static getInstance(): GlobalState {    if (GlobalState.instance == null) {      GlobalState.instance = new GlobalState()    }    return GlobalState.instance  }private state: IGlobalState = this.restoreDefaultState()private restoreDefaultState(): IGlobalState {    return (      {        // your properties are placed here      }    )  }}用法:GlobalState.getInstance() ... //call any function placed there注意:上面的代码是TypeScript用JS.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript