卸载并挂载ImagePicker后,无法设置setState

时间:2019-06-01 20:05:25

标签: javascript reactjs react-native expo

在React Native中

之后 ImagePicker (通过Expo) 被调用以在系统上查找照片,然后卸载并挂载而且我不能使用setState

错误消息:

  

无法在已卸载的组件上调用setState(或forceUpdate)。这是空操作,但它表明应用程序中发生内存泄漏。要解决此问题,请在componentWillUnmount方法中取消所有订阅和异步任务。 )

在iOS模拟器上一切正常,因为没有卸载。 但是在物理Android上,这就是我得到的。

我是React的新手,所以也许这很简单,但是到目前为止,我仍然不了解如何解决它。

我尝试过:

  • 设置一个检查isMount状态的函数,然后调用setState。但是它总是卸载的。

  • 我在博览会上没有找到有关ImagePicker文档的任何信息


   let result = await ImagePicker.launchImageLibraryAsync({
      allowsEditing: true,
      aspect: [4, 3],
   })

   if (!result.cancelled) {
      this.setState({ property: value });
   }
}

我希望成功使用setState({})。我敢肯定这很简单,但我无法在下午弄清楚答案。

提前谢谢!

0 个答案:

没有答案