Почему AsyncStorage вернет значение null при ответном нативном коде?

Теперь я делаю мобильное приложение с react 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 });

});

}


person ryonz    schedule 19.04.2019    source источник
comment
const value = await AsyncStorage.getItem('qrcodevancoupon001shop'); Поместите его в имя переменной и верните.   -  person hong developer    schedule 19.04.2019
comment
Я сделал ! Большое спасибо. Но мне интересно, почему это произошло?   -  person ryonz    schedule 19.04.2019
comment
Необязательный тип функции обратного вызова недействителен.   -  person hong developer    schedule 19.04.2019
comment
Если мой ответ был полезен, выберите ответ ниже.   -  person hong developer    schedule 19.04.2019


Ответы (1)


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

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

this.setState({ couponModalStatus: value });
person hong developer    schedule 19.04.2019