亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在不導航到另一個屏幕的情況下將信息從一個屏幕發送到另一個屏幕?

如何在不導航到另一個屏幕的情況下將信息從一個屏幕發送到另一個屏幕?

智慧大石 2022-05-22 11:05:19
我是 React Native 的新手,我一直在嘗試制作一個活動組織者,如果你注冊一個活動,它會被添加到另一個包含你的日程安排的頁面。但是,我一直在查看文檔,我似乎無法找到如何在不實際導航到另一個屏幕的情況下將數據從一個屏幕發送到另一個屏幕。換句話說,我想要這個navigation.navigate('Schedule', {name: eventName, time: eventTime});但沒有導航。
查看完整描述

2 回答

?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

以下是一些建議:


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-storage

2.后端

將事件保存到后端服務器并從其他頁面檢索它們。

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 管理全局狀態的新方法


查看完整回答
反對 回復 2022-05-22
?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

您可以擁有一個全局對象來存儲屏幕之間的共享數據。即使您閱讀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.


查看完整回答
反對 回復 2022-05-22
  • 2 回答
  • 0 關注
  • 109 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號