我如何从不同的.js类中的Asyncstorage中保存项目


saveValueFunction = () => {
    if(this.state.textInputData){
      AsyncStorage.setItem('KEYVALUE', this.state.textInputData);
      console.log("DATA SAVED" +this.state.textInputData)
      this.setState({ textInputData: '' })
      alert('Data Saved');
    }else{
      alert('Please fill data');
    }
};

我在first.js class中使用的这个代码,我想在second.js类中获得其值

 constructor() {
       super();
       AsyncStorage.getItem('KEYVALUE').then(value =>
           this.setState({ getValue: value })
       );
 }

但是我得到此错误类型:null不是对象(评估'this.state.getValue')

首先,,您不得在构造函数内使用任何异步代码,而是在componentDidMount中。

第二,,您遇到的错误是因为您没有在构造函数中初始化状态并尝试运行setState

constructor() {
   super();
   this.state = {};
}
componentDidMount() {
   AsyncStorage.getItem('KEYVALUE').then(value =>
           this.setState({ getValue: value })
   );
}

相关内容

  • 没有找到相关文章

最新更新