React Native AsyncStorage:使用键推送到数组

时间:2017-03-08 13:31:19

标签: react-native asyncstorage

您好我在向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”不是函数。我需要更改什么来解决这个问题?还是有更优雅的解决方案?

1 个答案:

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