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

Ega*_*tra 4 facebook ios reactjs react-native asyncstorage

我当前的项目要求我在本地存储用户数据,所以我使用 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);
Run Code Online (Sandbox Code Playgroud)

Fer*_*gre 5

阅读AsyncStorage的文档:

static getItem(key, callback?) 获取键的项目并在完成时调用回调。返回一个 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
  }
}
Run Code Online (Sandbox Code Playgroud)

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