【发布时间】:2022-02-25 06:05:50
【问题描述】:
每当有任何与组件相关的异步任务执行并且该组件卸载时,React 通常都会给出这个警告 -
Can't perform a React state update on an unmounted component This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.
我在 Internet 上找到了一些解决方案,将 isMount 标志(通过将其与 useRef 或 useState 一起使用)设为 true,然后在组件卸载时将其更新为 false。但是,根据 React 站点使用 isMount 的正确解决方案是一种反模式吗?
https://reactjs.org/blog/2015/12/16/ismounted-antipattern.html
【问题讨论】:
-
当您尝试将状态更改应用于不再存在的组件时,通常会发生此问题。
标签: reactjs warnings anti-patterns