2017-03-08 4 views
1

Hallo Ich habe Probleme mit dem Hinzufügen von Werten zu einem Array in AsyncStorage.React Native AsyncStorage: Push an ein Array mit einem Schlüssel

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

Nach meinem die anfängliche ID gesetzt bekomme ich die Fehlermeldung „result.push“ ist keine Funktion. Was muss ich ändern, um das Problem zu beheben? oder gibt es dafür eine elegantere lösung?

+0

typeof Ergebnis kein Array sein. So wirft es Fehler "result.push" ist keine Funktion –

+0

Console 'typeof result' –

+0

Es ist undefined, wie ich die erste ID einrichten, um ein Array auseinander zu sein, so dass ich Daten hineinschieben kann. –

Antwort

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)); 
    } 
}); 
Verwandte Themen