我的编程空间,编程开发者的网络收藏夹
学习永远不晚

React如何实现倒计时组件

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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 <h2>{count}</h2>}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 <h2>{count}</h2>}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 <h2>{count}</h2>}export default CountDown

关于“React如何实现倒计时组件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

React如何实现倒计时组件

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

React如何实现倒计时组件

这篇文章将为大家详细讲解有关React如何实现倒计时组件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。倒计时组件——需求描述:写一个函数式组件CountDown,设置一个传入最大值
2023-06-29

React怎么实现一个倒计时hook组件

这篇“React怎么实现一个倒计时hook组件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“React怎么实现一个倒计时ho
2023-07-05

React实现一个倒计时hook组件实战示例

这篇文章主要为大家介绍了React实现一个倒计时hook组件,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-02-23

React Native 中实现倒计时功能

这篇文章主要介绍了React Native中实现倒计时功能示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-13

php如何实现倒计时

php实现倒计时的方法:1、通过date_default_timezone_set设置时区;2、配置每天的活动时间段;3、计算出服务器和客户端的时间差;4、通过“function GetRTime(){...}”方法实现倒计时即可。
2015-09-03

如何实现VBS倒计时

这篇文章给大家分享的是有关如何实现VBS倒计时的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。以下内容为程序代码: