In my React Native app's AsyncStorage, I have multiple JSON objects, each with a unique key id like so:
'62834456':
data: { "foo": "bar",
"nicknames": [ "grizz", "example" ],
... and so on }
They have been pushed into AsyncStorage stringified. I'm trying to retrieve every object by their id, and push both the id and its' JSON data into the component's state. I have this so far:
// for every key in async storage, push to favorites in state
importData = (id) => {
for (id in AsyncStorage) {
return AsyncStorage.getItem(id)
.then(req => JSON.parse(req))
.then(json => console.log(json))
.catch(error => console.log('error!'));
}
}
When console.logging 'json' in the above function, the result is null. How can I properly access all JSON objects in my AsyncStorage?
FINAL EDIT
Using your code example and removing JSON.parse (so simply console.logging req) returns this:
It appears this is happening because for some reason .forEach is returning the first string in the array, the array itself, then the second string.