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

Sta*_*ser 1 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);
    });
  }
Run Code Online (Sandbox Code Playgroud)

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

小智 6

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

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);
});
Run Code Online (Sandbox Code Playgroud)

当您阅读它时,应该对其进行解析。

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