React Native 如何在不转到该屏幕的情况下将道具传递给另一个屏幕

React Native how to pass prop to Another Screen Without Going to that screen

简单直接的问题,此代码用于将道具从一个屏幕传递到另一个屏幕并转到那个屏幕,此代码适用于我:

this.props.navigation.navigate('RouteName', { refresh: yes })   

但是这段代码也将我导航到那个屏幕。我想将道具传递给屏幕但不去那个屏幕。怎么做?

基本上,如果您使用 navigation.navigate 函数,这意味着您正在导航到下一个屏幕并将道具作为参数传递以在另一个屏幕中使用。

但是如果您只是想存储数据以供将来使用而不导航到不同的屏幕,那么您可以使用 async-storage 来保存数据并在需要时使用它

例子

从“@react-native-async-storage/async-storage”导入 AsyncStorage;

存储数据

const storeData = async (value) => {
  try {
    await AsyncStorage.setItem('refresh', "yes")
  } catch (e) {
    // saving error
  }
}

读取数据

const getData = async () => {
  try {
    const value = await AsyncStorage.getItem('refresh')
    if(value !== null) {
      // value previously stored
    }
  } catch(e) {
    // error reading value
  }
}

通过使用异步存储,您可以从任何屏幕访问这些值。你甚至可以使用 redux。

如果您使用异步存储,请确保安装依赖项。

希望对您有所帮助。祝你好运!