2017-03-08 16 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は配列ではありません。 "result.push"は関数ではありません –

+0

コンソール '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)); 
    } 
}); 
関連する問題