如何在 React Native 中使用 AsyncStorage 正确获取项目?

IT技术 ios facebook reactjs react-native asyncstorage
2021-05-16 15:35:41

我当前的项目要求我在本地存储用户数据,所以我使用 React Native 本身的 AsyncStorage。但是,我在如何检索已保存的数据方面遇到了一些问题我总是得到 null 但不知何故数据已保存..

我总是得到

{_45:0,_81:0,_65:空,_54:空}

这是我的代码,这是来自 react native 文档的简单示例

AsyncStorage.setItem('baru', 'this is new dude!!');
var b = AsyncStorage.getItem('baru');
console.log(b);
1个回答

阅读AsyncStorage的文档

static getItem(key, callback?) 获取键的项目并在完成后调用回调。返回一个 Promise 对象。

你需要处理那个Promise。我建议你使用 (as the docs) async/await例如,您可以执行以下操作:

async function getItem(item) {
  try {
    const value = await AsyncStorage.getItem(item);
    console.log(value);
    return value;
  } catch (error) {
    // Handle errors here
  }
}

你实际上也应该做类似的setItem事情。