В моем приложении React Native AsyncStorage у меня есть несколько объектов JSON, каждый с уникальным идентификатором ключа, например:
'62834456':
data: { "foo": "bar",
"nicknames": [ "grizz", "example" ],
... and so on }
Они помещены в AsyncStorage в строковом виде. Я пытаюсь получить каждый объект по его идентификатору и вставить идентификатор и его данные JSON в состояние компонента. У меня пока есть это:
// 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!'));
}
}
Когда console.logging 'json' в приведенной выше функции, результат равен нулю. Как я могу правильно получить доступ ко всем объектам JSON в моем AsyncStorage?
ОКОНЧАТЕЛЬНОЕ РЕДАКТИРОВАНИЕ
Использование вашего примера кода и удаление JSON.parse (просто console.logging req) возвращает следующее:
Похоже, это происходит потому, что по какой-то причине .forEach возвращает первую строку в массиве, сам массив, а затем вторую строку.