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;
  };
相关推荐
Hy行者勇哥11 小时前
HTML5 + 原生 CSS + 原生 JS 网页实现攻略
javascript·css·html5
小飞侠在吗16 小时前
vue props
前端·javascript·vue.js
DsirNg17 小时前
页面栈溢出问题修复总结
前端·微信小程序
小徐_233317 小时前
uni-app 也能远程调试?使用 PageSpy 打开调试的新大门!
前端·微信小程序·uni-app
大怪v17 小时前
【Virtual World 03】上帝之手
前端·javascript
招来红月19 小时前
记录JS 实用API
javascript
别叫我->学废了->lol在线等19 小时前
演示 hasattr 和 ** 解包操作符
开发语言·前端·python
霍夫曼19 小时前
UTC时间与本地时间转换问题
java·linux·服务器·前端·javascript
DARLING Zero two♡19 小时前
浏览器里跑 AI 语音转写?Whisper Web + cpolar让本地服务跑遍全网
前端·人工智能·whisper
꒰ঌ小武໒꒱19 小时前
文件上传全维度知识体系:从基础原理到高级优化
javascript·node.js