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

时间:2019-02-13 05:16:24

标签: react-native 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);
    });
  }

我以这种方式存储。但是在获得特定值的同时,我只能获得一个值,而不能从对象中获得更多值。

1 个答案:

答案 0 :(得分:2)

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

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
}