【发布时间】:2021-01-25 08:25:14
【问题描述】:
我有以下组件,我在其中显示消息 5 秒,然后将其从主页中删除。
当我在页面之间切换时,有时会出现以下错误。请给点建议
index.js:1 Warning: 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.
代码:
const Home = props => {
const [visible, setVisible] = useState(true);
useEffect(() => {
setTimeout(() => setVisible(false), 5000);
}, []);
return (
<div >
{visible && <Message showDefault={false} /> }
<BaseView />
</div>
);
};
【问题讨论】:
-
似乎
Message组件尝试自我更新,但组件被卸载。贴出Message在做什么的代码? -
是的,消息组件在其他地方也有使用。
标签: javascript reactjs memory-leaks