Почему AsyncStorage вернет "ноль" с реагировать на родной? - PullRequest
0 голосов
/ 19 апреля 2019

Сейчас я делаю мобильное приложение с поддержкой native и expo и пытаюсь использовать AsyncStorage для хранения набора ключей и значений. Тем не менее, я могу получить "null" из AsyncStorage.get ('key');

Приведенный ниже код является моим кодом об использовании AsyncStorage.

async checkQrUrl(data) {
const asyncStorageKey = JSON.stringify(data);

if (this.state.couponType === 'once') {
  try {
    if (data === this.state.UniqueQrUrl) {
      await AsyncStorage.setItem('qrcodevancoupon001shop', 'aaa');
      Alert.alert('一回切りのクーポンを使用しました');
    } else if (data !== this.state.UniqueQrUrl) {
      Alert.alert('QRコードが違います');
    } else {
      Alert.alert('予期せぬ障害が発生しました。前画面に戻って再度お試しください');
    }
  } catch (error) {
    console.log(error);
  }
}
}

В дополнение к этому коду, ниже одного - получить ключ.

async componentDidMount() {
const { value } = this.props.navigation.state.params;
await AsyncStorage.getItem(`qrcodevancoupon001shop`, (result) => {
  this.setState({ couponModalStatus: result });

});

}

1 Ответ

1 голос
/ 19 апреля 2019

const value = await AsyncStorage.getItem('qrcodevancoupon001shop');

Поместите его в имя переменной и верните.

this.setState({ couponModalStatus: value });
...