react用useEffect防止数据内存泄漏

函数式

1、创建了一个定时器,你需要在组件卸载时清理:

javascript 复制代码
useEffect(() => {
  const id = setInterval(() => {
    console.log('Hello');
  }, 1000);
  return () => {
    // 组件卸载时执行
    clearInterval(id);
  };
}, []); // 空依赖数组意味着仅在组件挂载时运行一次

2、确保初始化函数initData不会在组件卸载后继续执行。

javascript 复制代码
  useEffect(() => {
    let unmount = false;
    (async () => {
      if (!unmount) {
        initData();
      }
    })();
    return () => {
      unmount = true;
    };
  }, [initData]);

Class

javascript 复制代码
  componentWillUnmount = () => {
    this.setState = () => false;
  };
相关推荐
LuckySusu几秒前
【CSS篇】什么是 Margin 重叠问题?如何解决?
前端·css
一依不舍几秒前
百度文心大模型 4.5 系列开源:从技术突破到全球生态的中国力量
前端
LaoZhangAI2 分钟前
Claude 4 vs Gemini 2.5 Pro:2025年顶级AI模型权威对比分析
前端·后端
Dream耀3 分钟前
Cookie:Web身份认证的基石
前端·javascript·http
LuckySusu3 分钟前
【CSS篇】元素的层叠顺序(Stacking Order)详解
前端·css
come112345 分钟前
npm 命令入门指南(前端小白版)
前端·npm·node.js
Qinana5 分钟前
今日前端学习总结
javascript
墨菲安全5 分钟前
NPM组件 alan-baileys 等窃取主机敏感信息
前端·npm·node.js·npm组件·恶意包·主机信息窃取
我在北京coding6 分钟前
npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree
前端·npm·node.js
拾光拾趣录6 分钟前
CSS高级技巧与实用伪类
前端·css