6

次のようにユーザーを保存していますAsyncStorage

// data has a few key/value pairs for the user object
AsyncStorage.setItem('user', JSON.stringify(data));

のキーと値のペアの 1 つdataquestion_count10

ユーザーが質問を削除したときに、question_count値を 1減らすにはどうすればよいAsyncStorageです9か?

これが私が試したものです:

AsyncStorage.getItem('user').then(data => {
    data.question_count--;
});

しかし、それは価値を変えません。これを達成する方法はありますか?

4

1 に答える 1

23

デクリメントした後、値を再度保存する必要があります。

AsyncStorage.getItem( 'user' )
    .then( data => {

      // the string value read from AsyncStorage has been assigned to data
      console.log( data );

      // transform it back to an object
      data = JSON.parse( data );
      console.log( data );

      // Decrement
      data.question_count--;
      console.log( data );

      //save the value to AsyncStorage again
      AsyncStorage.setItem( 'user', JSON.stringify( data ) );

    }).done();
于 2016-09-14T06:51:47.567 に答える