2017-03-08 35 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)); 
    } 
}); 
相關問題