为什么AsyncStorage会以本机反应返回“空”?

时间:2019-04-19 00:51:40

标签: react-native expo asyncstorage

现在,我正在制作一个具有本机和博览会反应的移动应用程序,并尝试使用AsyncStorage存储一组键和值。 但是,我可以从AsyncStorage.get('key');“ pull”中获得

下面的代码是我关于使用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 个答案:

答案 0 :(得分:1)

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

将其放入变量名并返回。

this.setState({ couponModalStatus: value });