我有一个用户通过AsyncStorage
存储,如下所示:
// data has a few key/value pairs for the user object
AsyncStorage.setItem('user', JSON.stringify(data));
data
中的一个键/值对是question_count
,其值为10
当用户删除问题时,如何在question_count
中将AsyncStorage
值减1,以使其值为9
?
以下是我的尝试:
AsyncStorage.getItem('user').then(data => {
data.question_count--;
});
但这不会改变价值。知道怎么做到这一点吗?
答案 0 :(得分:15)
您应该在递减后再次保存该值。
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();