繁体   English   中英

React-Native:警告:未安装组件的 React 状态更新

[英]React-Native: Warning: React state update on an unmounted component

我对 React-Native 有问题(我使用 Expo)。
我在 componentDidMount() 中传递了一个函数,该函数调用操作 (redux) 以从 API 检索数据。
当我关闭应用程序并再次打开它时,出现以下错误:

警告:无法对卸载的组件执行 React 状态更新。 这是一个空操作,但它表明您的应用程序中存在内存泄漏。 要修复,请取消 %s 中的所有订阅和异步任务。%s,componentWillUnmount 方法

我尝试了几种这样的方法:
https://github.com/material-components/material-components-web-react/issues/434
React-Native:警告:无法对卸载的组件执行 React 状态更新
以及我在 Stack Overflow 上发现的其他类似方法,但没有任何效果并且错误仍然存​​在。

以前有人遇到过这个问题吗?
你能帮我解决这个问题吗?

我不确定 react-native 是否会与我在 reactjs 中遇到的问题相同,但是当在我的 react 应用程序中它抱怨内存泄漏错误时,我只需要添加 AbortController()。

你可以试试这样的

abortController = new AbortController();

componentDidMount() {
    fetch('url', {
      signal: this.abortController.signal,
    }).then((res) => {
      // do something
    }).catch((err) => {
        if (err.name === 'AbortError') {
          // throw error;
        }
    })

    componentWillUnmount() {
      this.abortController.abort();
    }
}

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM