我创建了prefsManager.js - 用于将数据存储和检索到AsyncStorage中,但我遇到了一个问题,即当打印日志时,它总是返回undefined,因为它是异步的,但我想通过调用函数在日志中打印实际值。
import { AsyncStorage } from 'react-native';
import prefskey from '../utils/constants/prefskeys';
const setValue = async (key, value) => {
await AsyncStorage.setItem(key, value);
}
const getValue = async (key) => {
let value = '';
try {
value = await AsyncStorage.getItem(key) || 'none';
} catch (error) {
// Error retrieving data
console.log(error.message);
}
return value;
};
const prefsmanager = {
setValue,
getValue
}
export default prefsmanager;
当我按下按钮时,在我的Home.js中调用了这个方法。
_handlePress() {
await prefsManager.setValue(prefskey.username, this.state.username)
console.log("username =>>", await prefsManager.getValue(prefskey.username));
}
getValue = async(key) =>
您需要将以下行更改和更新为:value = await AsyncStorage.getItem(key) || 'none';
- Rishabh Rawat