Асинхронное хранилище не сохраняется при перезагрузке приложения - PullRequest
0 голосов
/ 29 октября 2019

Мне интересно, могли бы вы помочь мне понять, почему мои данные не сохраняются, когда я перезагружаю свое приложение в 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);
    }
  }

Возможно, я неправильно понимаю, как работает постоянное хранилище, но я подумал, что это так, что данные сохраняются при перезагрузке?

Любая помощь приветствуется!

...