开发记录-20220328

原实现方式

import { useRef, useState } from 'react'export default function Page() {const [timerId, setTimerId] = useState(null)useEffect(()=>{const timerId = setInterval(()=>{// 异步获取逻辑}, 时间间隔)setTimerId(timerId)return ()=>{timerId && clearInterval(timerId)}},[])return <>页面结构...</>
}

出现问题:组件卸载后,定时器未停止(轮询结束不了)

修改后的实现方式

import { useRef, useEffect } from 'react'export default function Page() {const timeIdRef = useRef()useEffect(()=>{const timerId = setInterval(()=>{// 异步获取逻辑}, 时间间隔)// 保存当前timeIdtimeIdRef.current = timerIdreturn ()=>{timeIdRef.current && clearInterval(timerIdRef.current)}},[])return <>页面结构...</>
}

利用useRef hooks 解决 定时器关闭不到的问题相关推荐

  1. 解决定时器关闭不掉的问题,clearInterval无效

    1.环境问题,this.interVal是我定义的定时器 如直接写clearInterval(this.interVal);不好用,需要换成window.clearInterval(this.inte ...

  2. 利用exif.js解决手机上传竖拍照片旋转90\180\270度问题

    利用exif.js解决手机上传竖拍照片旋转90\180\270度问题 参考文章: (1)利用exif.js解决手机上传竖拍照片旋转90\180\270度问题 (2)https://www.cnblog ...

  3. 解决ThinkPHP关闭调试模式时报错的问题汇总

    解决ThinkPHP关闭调试模式时报错的问题汇总 参考文章: (1)解决ThinkPHP关闭调试模式时报错的问题汇总 (2)https://www.cnblogs.com/ZDPPU/p/584881 ...

  4. ewebeditor编辑器ASP/ASPX/PHP/JSP版本漏洞利用总结及解决方法

    ewebeditor编辑器ASP/ASPX/PHP/JSP版本漏洞利用总结及解决方法 参考文章: (1)ewebeditor编辑器ASP/ASPX/PHP/JSP版本漏洞利用总结及解决方法 (2)ht ...

  5. linux shell ddos木马,利用Shell 脚本解决DDOS攻击问题

    思路:主要利用 awk ,if结构,sort,uniq #!/bin/bash FilePath="access.log" awk '{print $1}' $FilePath | ...

  6. ML之回归预测之BE:利用BE算法解决回归(实数值评分预测)问题—线性方法解决非线性问题

    ML之回归预测之BE:利用BE算法解决回归(实数值评分预测)问题-线性方法解决非线性问题 目录 输出结果 设计思路 代码实现 输出结果 设计思路 代码实现 for row in xList:newRo ...

  7. MAT之SA:利用SA算法解决TSP(数据是14个虚拟城市的横纵坐标)问题

    MAT之SA:利用SA算法解决TSP(数据是14个虚拟城市的横纵坐标)问题 目录 输出结果 实现代码 输出结果 实现代码 %SA:利用SA算法解决TSP(数据是14个虚拟城市的横纵坐标)问题--Jas ...

  8. c# 联合halcon 基于相关性 模板匹配_宣城seo公司_有效利用及时相关性解决关键词排名上不到首页的难题...

    发布时间:2020-11-04 09:11:33 当你写一条热门新闻时,百度总是能很快地收录和显示你.这就是即时新闻的魅力所在,考虑到全站的权重不算太多. 它完全基于即时新闻和页面相关性,因此,如果你 ...

  9. 热传递 matlab,利用matlab程序解决热传导问题

    利用matlab程序解决热传导问题 1哈佛大学能源与环境学院课程作业报告作业名称:传热学大作业--利用 matlab 程序解决热传导问题院系:能源与环境学院专业:建筑环境与设备工程学号:5201314 ...

最新文章

  1. 【播放器SDK】Android如何实现固定竖屏播放视频
  2. Linux环境高级编程函数,Linux环境高级编程--出错处理(CLStatus)
  3. linux下各种软件安装方法详解
  4. ReentrantLock锁
  5. Asp.Net Boilerplate微服务实战(二)架构解析
  6. 使用UIWebView加载网页
  7. 两大开源硬件之树莓派与a_开源硬件之美
  8. 别把可视化不当事,看完大屏模板,Excel和PPT直言比不过
  9. CCF201809-4 再卖菜(100分)【DFS】
  10. 用 mCustomScrollbar 滚动条插件实现滚动更新添加数据
  11. HCIE-Security Day31:IPSec:实验(六)配置PPPoE拨号分支与总部建立IPSec隧道示例
  12. tomcat登录账户配置
  13. 日常管理随笔一 (转载)
  14. Step by Step WebMatrix网站开发之一:Webmatrix安装
  15. Java初学者可以实现的简单小程序(建议收藏学习)
  16. 数据仓库整合各系统码表和参数表
  17. AMS1117 稳压芯片原理图实物管脚图以及接法
  18. 安利3个高清电脑壁纸网站
  19. 《C++ Primer Plus》学习笔记——共用体union
  20. 帮室友写的表白程序 Python打包成exe文件

热门文章

  1. Unity开发者的C#内存管理(中篇)
  2. unity实现简单游戏——井字棋
  3. Android 节操视频播放器jiecaovideoplayer使用
  4. android 后台自动拍照,Android实现后台服务拍照功能
  5. nux下导入、导出mysql数据库命令
  6. 史上最全的C++/游戏开发面试问题总结(一)——C++基础
  7. 语句摘抄——第16周
  8. javascript实现繁体简体转换
  9. pinpoint全链路监控安装部署(支持dubbo)
  10. 一键获取推文封面及标题摘要