【发布时间】:2021-02-19 20:43:55
【问题描述】:
简单直接的问题,此代码用于将道具从一个屏幕传递到另一个屏幕并转到该屏幕,此代码对我有用:
this.props.navigation.navigate('RouteName', { refresh: yes })
但是这段代码也将我导航到那个屏幕。我想将道具传递到屏幕但不进入该屏幕。该怎么做?
【问题讨论】:
标签: react-native react-native-navigation
简单直接的问题,此代码用于将道具从一个屏幕传递到另一个屏幕并转到该屏幕,此代码对我有用:
this.props.navigation.navigate('RouteName', { refresh: yes })
但是这段代码也将我导航到那个屏幕。我想将道具传递到屏幕但不进入该屏幕。该怎么做?
【问题讨论】:
标签: react-native react-native-navigation
基本上,如果您使用 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
}
}
通过使用 async-storage,您可以从任何屏幕访问这些值。你甚至可以使用 redux。
如果您使用 async-storage,请确保安装依赖项。
我希望这会有所帮助。祝你好运!
【讨论】: