首页 > 解决方案 > 如何在 ReactNative 中使用异步存储

问题描述

我在 ReactJS 中制作了本地存储,效果很好。
但我想将此代码用于 React-native。
我很困惑如何申请
此代码属于 ReactJs。

...
  componentWillMount(){
    const contactData = localStorage.contactData;
    if(contactData){
      this.setState({
        contactData:JSON.parse(contactData)
      })
    }
  }
...
...
  componentWillMount(){
    const contactData = localStorage.contactData;
    if(contactData){
      this.setState({
        contactData:JSON.parse(contactData)
      })
    }
  }
...

我读了这个“ https://facebook.github.io/react-native/docs/asyncstorage.html
但我不太明白。

标签: react-native

解决方案


对于 React-native 存储,您必须使用 AsyncStorage。react-native 中的上述代码将变为。

...
async componentWillMount(){
const contactData = await AsyncStorage.getItem('contactData');
if(contactData){
  this.setState({
    contactData:JSON.parse(contactData)
  })
}
}
...
...
async componentWillMount(){
const contactData = localStorage.getItem('contactData');
if(contactData){
  this.setState({
    contactData:JSON.parse(contactData)
  })
}
}
...

您可以使用 async-await 或 then/catch 承诺来处理数据。


推荐阅读