Search code examples
react-nativeasyncstorage

React native: How to store object in asyncstorage


i want to store object in asyncstorage,then i want get different values that was stored in object.

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);
    });
  }

i have stored in this way .but while getting particular value i can able get only one value am not able to get more values from object.


Solution

  • You must stringify your object.

    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);
    });
    

    And when you read it, you should parse it.

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