2017-03-08 62 views
1

您好我无法向AsyncStorage中的数组添加值。React Native 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

typeof结果不是数组。所以它会抛出错误“result.push”不是函数 –

+0

console' typeof result' –

+0

它是未定义的,我如何设置第一个ID作为数组的一部分,以便我可以将数据推送到它。 –

回答

4
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)); 
    } 
}); 
相关问题