您好我在向AsyncStorage中的数组添加值时遇到了问题。
AsyncStorage.getItem('savedIds', (err, result) => {
const id = '1';
if (result !== null) {
console.log('Data Found', result);
result = JSON.parse(result);
result.push(id);
AsyncStorage.setItem('savedIds', JSON.stringify(result));
} else {
console.log('Data Not Found');
AsyncStorage.setItem('savedIds', id);
}
});
AsyncStorage.getItem('savedIds', (err, result) => {
console.log(result);
});
在初始id设置后,我得到错误“result.push”不是函数。我需要更改什么来解决这个问题?还是有更优雅的解决方案?
答案 0 :(得分:5)
AsyncStorage.getItem('savedIds', (err, result) => {
const id = [1];
if (result !== null) {
console.log('Data Found', result);
var newIds = JSON.parse(result).concat(id);
AsyncStorage.setItem('savedIds', JSON.stringify(newIds));
} else {
console.log('Data Not Found');
AsyncStorage.setItem('savedIds', JSON.stringify(id));
}
});