React native:如何在asyncstorage中存储对象

问题描述 投票:0回答:1

我想在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);
    });
  }

我已经以这种方式存储。但是在获得特定值时,我只能获得一个值,因此无法从对象获取更多值。

react-native asyncstorage
1个回答
4
投票

您必须对对象进行字符串化。

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
}
© www.soinside.com 2019 - 2024. All rights reserved.