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;
  };
相关推荐
秋水无痕12 分钟前
# 手把手教你从零搭建 AI 对话系统 - React + Spring Boot 实战(一)
前端·后端
高桥凉介发量惊人14 分钟前
基础与工程篇-多环境配置(dev/test/prod)与打包策略
前端
墨鱼笔记15 分钟前
前端必看:Vite.config.js 最全配置指南 + 实战案例
前端·vite
kyriewen16 分钟前
异步编程:从“回调地狱”到“async/await”的救赎之路
前端·javascript·面试
前端Hardy19 分钟前
别再手动写 loading 了!封装一个自动防重提交的 Hook
前端·javascript·vue.js
前端Hardy19 分钟前
前端如何实现“无感刷新”Token?90% 的人都做错了
前端·javascript·vue.js
秋水无痕20 分钟前
# 手把手教你从零搭建 AI 对话系统 - React + Spring Boot 实战(二)
前端·后端·面试
SuperEugene28 分钟前
Vue Router 实战规范:path/name/meta 配置 + 动态 / 嵌套路由,统一团队标准|状态管理与路由规范篇
开发语言·前端·javascript·vue.js·前端框架
小彭努力中1 小时前
194.Vue3 + OpenLayers 实战:动态位置 + 高度 + 角度,模拟卫星地面覆盖范围
前端·css·vue.js·openlayers·animate
颜正义1 小时前
作为前端你还不会 Playwright 进行单元测试吗?
前端·测试