У меня есть экран входа в систему с кнопкой, запомните меня, и когда я подключаюсь, я хотел бы сохранить эту информацию в asynsctorage, например:
if (this.isFormValid()) {
AccountService.login(login, password)
.promise.then(body => {
console.log('onLoginClick -> body', body)
Keyboard.dismiss()
AsyncStorage.setItem('login', login)
if (this.state.isRememberMeSelected) {
console.log("i'm in the storage !")
AsyncStorage.multiSet([['login', login], ['password',
password], ['isRememberMeSelected', '1']])
} else {
AsyncStorage.multiSet([['login', ''][('password', '')],
['isRememberMeSelected', '0']])
}
когда я возвращаюсь к своему ящику, я пытаюсь прочитать хранилище и получить значение "isRememberMeSelected":
async componentDidMount() {
// await AsyncStorage.getItem('login').then(value => {
// console.log('DrawerLogin', value)
// //this.setState({login: value})
// })
// await AsyncStorage.getItem('password').then(value => {
// console.log('DrawerPassword', value)
// //this.setState({password: value})
// })
await AsyncStorage.getItem('isRememberMeSelected').then(value => {
console.log('DrawerIsRememberMeSelected', value)
this.setState({isRememberMeSelected: value})
})
// await AsyncStorage.getAllKeys((err, keys) => {
// console.log(' Allkeys', keys)
// })
}
В моем ящике я проверяю значение «isRememberMeSelected», чтобы удалить некоторые элементы:
StorageMultiRemove = async () => {
try {
await AsyncStorage.multiRemove(['refreshToken',
'stripeCustomerId', 'token'], err => {
console.log(' Dans multiRemove Error', err)
})
} catch (error) {
// Error saving data
}
}
isRememberMeSelected === '1' ? this.StorageMultiRemove() :
AsyncStorage.clear()
когда я возвращаюсь в свой ящик, это значение и всегда равно нулю, КРОМЕ, если я выйду из приложения и перезапущусь ... там все хорошо установлено ....
Я хорошо вписываюсь в свое состояние (то, которое было до выполнения моего setItem) ...
Я бы хотел записать эти данные в asynStorage, вернуться в мой ящик и получить эти значения в наличии