React native:如何在异步存储中存储对象

React native: How to store object in 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);
    });
  }

我以这种方式存储。但是在获取特定值时我只能获取一个值而无法从对象中获取更多值。

您必须将对象字符串化。

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
}