React如何实现倒计时组件
发表于:2024-10-17 作者:千家信息网编辑
千家信息网最后更新 2024年10月17日,这篇文章将为大家详细讲解有关React如何实现倒计时组件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。倒计时组件——需求描述:写一个函数式组件CountDown,设
千家信息网最后更新 2024年10月17日React如何实现倒计时组件
这篇文章将为大家详细讲解有关React如何实现倒计时组件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
倒计时组件——需求描述:
写一个函数式组件CountDown,设置一个传入最大值的属性,每一秒减一,直到为0。
问题
怎么设计。
import { useState } from "react"function CountDown({max = 10}){ const [count,setCount] = useState(max) useEffect(()=>{ if(count>0){ setTimeout(()=>{ setCount(count-1) },1000) } }) return{count}
}export default CountDown
如果我在父级改变了prop后要重置计数怎么做呢?
我们再用一个useEffect去进行处理:
import { useState } from "react"function CountDown({max = 10}){ const [count,setCount] = useState(max) // 倒计时逻辑 useEffect(()=>{ if(count>0){ setTimeout(()=>{ setCount(count-1) },1000) } }) // 重置计数 useEffect(()=>{ setCount(max) },[max]) return{count}
}export default CountDown
setTimeout可能会造成内存泄露我们怎么处理呢?
通过useEffect的返回函数处理。
import { useState } from "react"function CountDown({max = 10}){ const [count,setCount] = useState(max) // 倒计时逻辑 useEffect(()=>{ let timer = null; if(count>0){ timer = setTimeout(()=>{ setCount(count-1) },1000) } return ()=>{ clearTimeout(timer) } }) // 重置计数 useEffect(()=>{ setCount(max) },[max]) return{count}
}export default CountDown
关于"React如何实现倒计时组件"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
倒计时
组件
篇文章
处理
函数
更多
逻辑
不错
实用
最大
内存
内容
属性
文章
最大值
知识
问题
需求
参考
帮助
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中美互联网和科技产业
数据库组合索引排序字段
做软件开发如何自我介绍
中国饲料网络数据库
县域农村数据库
互联网数据库的内容有哪些
在线医生软件开发
成都超算中心服务器供应商
软件开发遇到坑
微信公众号需要放在云服务器上吗
互联网数据库系统有什么关系
数据库dll什么意思
网络安全ppt 背景图
如何购买服务器
年货清单软件开发
运营商监管服务器是否违法
洗衣柜软件开发
企帮网络技术有限公司怎么样
网络安全和信息化辩
网络安全设备清单
最牛的网络安全技术
服务器没有iis
上海网络安全保卫处
上海智能软件开发配件
网络安全工程师考试加油简笔画
苏州万禾网络技术
火鸟数据库热备
用什么软件开发app软件
软件开发在哪里发展比较好
旅游公司网络安全威胁