React Native:如何在AsyncStorage中存储对象

6
我希望能将对象存储在AsyncStorage中,然后获取存储在对象中的不同值。
storeToken(responseData){

    AsyncStorage.setItem(ACCESS_TOKEN, responseData, (err)=> {
      if(err){
        console.log("an error");
        throw err;
      }
      console.log("success");
    }).catch((err)=> {
        console.log("error is: " + err);
    });
  }

我已经按照这种方式存储了数据。但是,在获取特定值时,我只能获得一个值,无法从对象中获取更多的值。

4
ReactNative团队付出了很大的努力,制作了一份有用的文档。请查看此链接:http://facebook.github.io/react-native/docs/asyncstorage。 - Aditya
1个回答

36

你必须将对象转换为字符串。

AsyncStorage.setItem(ACCESS_TOKEN, JSON.stringify(responseData), (err)=> {
    if(err){
        console.log("an error");
        throw err;
    }
    console.log("success");
}).catch((err)=> {
    console.log("error is: " + err);
});

当你阅读它时,你应该解析它。

try {
    const value = await AsyncStorage.getItem(ACCESS_TOKEN);
    if (value !== null) {
        // We have data!!
        console.log(JSON.parse(value));
    }
} catch (error) {
    // Error retrieving data
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接