2016-09-23 2 views
2

В моем текущем проекте мне требуется локально хранить пользовательские данные, поэтому я использую AsyncStorage от самого родного языка. Однако я получил некоторые вопросы о том, как получить уже сохраненные данные я всегда получаю нулевой, но как-то данные сохраняются ..Как правильно getItem с AsyncStorage в React Native?

Я всегда получаю

{_45: 0, _81: 0, _65: нуль, _54: нулевая}

и вот мой код, который является простым примером из реакции родной документации

AsyncStorage.setItem('baru', 'this is new dude!!'); 
var b = AsyncStorage.getItem('baru'); 
console.log(b); 

ответ

3

Чтения документов из AsyncStorage:

статического GetItem (ключ, обратный вызов?) Выбирает элемент для ключа и вызывает функцию обратного вызова после завершения. Возвращает объект Promise.

Вам необходимо выполнить это обещание. Я бы рекомендовал вам использовать (как документы) async/await. Так, например, вы можете сделать:

async function getItem(item) { 
    try { 
    const value = await AsyncStorage.getItem(item); 
    console.log(value); 
    return value; 
    } catch (error) { 
    // Handle errors here 
    } 
} 

Вы должны сделать что-то подобное для setItem тоже.

+1

спасибо, я не читаю документацию полностью –