利用useRef hooks 解决 定时器关闭不到的问题
开发记录-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 解决 定时器关闭不到的问题相关推荐
- 解决定时器关闭不掉的问题,clearInterval无效
1.环境问题,this.interVal是我定义的定时器 如直接写clearInterval(this.interVal);不好用,需要换成window.clearInterval(this.inte ...
- 利用exif.js解决手机上传竖拍照片旋转90\180\270度问题
利用exif.js解决手机上传竖拍照片旋转90\180\270度问题 参考文章: (1)利用exif.js解决手机上传竖拍照片旋转90\180\270度问题 (2)https://www.cnblog ...
- 解决ThinkPHP关闭调试模式时报错的问题汇总
解决ThinkPHP关闭调试模式时报错的问题汇总 参考文章: (1)解决ThinkPHP关闭调试模式时报错的问题汇总 (2)https://www.cnblogs.com/ZDPPU/p/584881 ...
- ewebeditor编辑器ASP/ASPX/PHP/JSP版本漏洞利用总结及解决方法
ewebeditor编辑器ASP/ASPX/PHP/JSP版本漏洞利用总结及解决方法 参考文章: (1)ewebeditor编辑器ASP/ASPX/PHP/JSP版本漏洞利用总结及解决方法 (2)ht ...
- linux shell ddos木马,利用Shell 脚本解决DDOS攻击问题
思路:主要利用 awk ,if结构,sort,uniq #!/bin/bash FilePath="access.log" awk '{print $1}' $FilePath | ...
- ML之回归预测之BE:利用BE算法解决回归(实数值评分预测)问题—线性方法解决非线性问题
ML之回归预测之BE:利用BE算法解决回归(实数值评分预测)问题-线性方法解决非线性问题 目录 输出结果 设计思路 代码实现 输出结果 设计思路 代码实现 for row in xList:newRo ...
- MAT之SA:利用SA算法解决TSP(数据是14个虚拟城市的横纵坐标)问题
MAT之SA:利用SA算法解决TSP(数据是14个虚拟城市的横纵坐标)问题 目录 输出结果 实现代码 输出结果 实现代码 %SA:利用SA算法解决TSP(数据是14个虚拟城市的横纵坐标)问题--Jas ...
- c# 联合halcon 基于相关性 模板匹配_宣城seo公司_有效利用及时相关性解决关键词排名上不到首页的难题...
发布时间:2020-11-04 09:11:33 当你写一条热门新闻时,百度总是能很快地收录和显示你.这就是即时新闻的魅力所在,考虑到全站的权重不算太多. 它完全基于即时新闻和页面相关性,因此,如果你 ...
- 热传递 matlab,利用matlab程序解决热传导问题
利用matlab程序解决热传导问题 1哈佛大学能源与环境学院课程作业报告作业名称:传热学大作业--利用 matlab 程序解决热传导问题院系:能源与环境学院专业:建筑环境与设备工程学号:5201314 ...
最新文章
- 【播放器SDK】Android如何实现固定竖屏播放视频
- Linux环境高级编程函数,Linux环境高级编程--出错处理(CLStatus)
- linux下各种软件安装方法详解
- ReentrantLock锁
- Asp.Net Boilerplate微服务实战(二)架构解析
- 使用UIWebView加载网页
- 两大开源硬件之树莓派与a_开源硬件之美
- 别把可视化不当事,看完大屏模板,Excel和PPT直言比不过
- CCF201809-4 再卖菜(100分)【DFS】
- 用 mCustomScrollbar 滚动条插件实现滚动更新添加数据
- HCIE-Security Day31:IPSec:实验(六)配置PPPoE拨号分支与总部建立IPSec隧道示例
- tomcat登录账户配置
- 日常管理随笔一 (转载)
- Step by Step WebMatrix网站开发之一:Webmatrix安装
- Java初学者可以实现的简单小程序(建议收藏学习)
- 数据仓库整合各系统码表和参数表
- AMS1117 稳压芯片原理图实物管脚图以及接法
- 安利3个高清电脑壁纸网站
- 《C++ Primer Plus》学习笔记——共用体union
- 帮室友写的表白程序 Python打包成exe文件