Мне интересно, могли бы вы помочь мне понять, почему мои данные не сохраняются, когда я перезагружаю свое приложение в React Native с использованием Async Storage. Вот мои данные:
React Native .61.2 / Использование React Native Community - Асинхронное хранение / тестирование в XCode Simulator на iOS
Когда я первоначально устанавливаю свои данные, а затем получаю их, я получаюправильный ответ. Когда я устанавливаю свои данные, перезагружаю приложение и пытаюсь получить мои данные снова, оно возвращается как буква «а».
Вот как я настраиваю свои данные:
changeUsernameToLowercase = text => {
var temp = text.toLowerCase();
this.setState({email: temp});
this._storeData('@email', temp);
};
async _storeData(name, value) {
try {
await AsyncStorage.setItem(name, value);
} catch (error) {
// Error saving data
console.log('FAILING: ' + error);
}
}
А вот мой JSX из моего рендера, который вызывает changeUsernameToLowercase:
<TextInput
onChangeText={text => this.changeUsernameToLowercase(text)}
placeholder="Email address"
value={this.state.email}
autoCapitalize="none"
type="password"
style={{
flex: 1,
backgroundColor: '#fff',
borderBottomColor: '#333',
borderBottomWidth: 1,
}}
/>
Вот как я получаюмои данные:
componentDidMount() {
this._retrieveEmail().then(response => {
console.log('My log:' + response); //returns letter a on reload
return response;
});
}
async _retrieveEmail() {
try {
var email = await AsyncStorage.getItem('@email');
console.log('MY EMAIL LOG:' + email); //returns letter a on reload
return email;
} catch (e) {
console.error(e);
}
}
Возможно, я неправильно понимаю, как работает постоянное хранилище, но я подумал, что это так, что данные сохраняются при перезагрузке?
Любая помощь приветствуется!