如何用React编写一个长尾词的倒计时hook组件?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1344个文字,预计阅读时间需要6分钟。
目录+前言+思路+实现+总结+前言+本章主要内容实现一个独特的倒计时功能+hook+组件,不同地区的倒计时样式不同,但倒计时逻辑基本一致,因此可以抽象出一个工具方法。
目录
- 前言
- 思路
- 实现
- 总结
前言
本篇文章主要实现一个无样式的倒计时 hook 组件,通常不同地方的倒计时样式都不同,但倒计时的逻辑基本是都是一样的,因此可以抽离成一个工具方法或者一个 hook 组件,这样让倒计时逻辑可以进行通用,样式让业务方具体去实现。
思路
倒计时可能需要显示剩余时间的单位有:天、时、分、秒、毫秒,可能只需显示一个,也可能都需要显示。
注意细节:
- 只显示某一单位的时间或者需要显示的最大单元时间,需要可以大于正常时间最大限制,比如要剩余 100 小时 58 分时,小时需要可以大于 23,分钟不能大于 59 。
- 需要可以设置是否显示毫秒,1s等于1000ms,但人的反应时间是0.2s~0.3s,因此毫秒以百为单位显示,显示毫秒适用于秒杀类活动场景。
实现
先来定义好参数:
export interface CountDownOptions { /** 截止时间,时间戳 */ deadlineTime: number; /** 是否需要毫秒 */ showMillisecond?: boolean; }
参数只需要倒计时截止时间以及是否需要显示毫秒。
本文共计1344个文字,预计阅读时间需要6分钟。
目录+前言+思路+实现+总结+前言+本章主要内容实现一个独特的倒计时功能+hook+组件,不同地区的倒计时样式不同,但倒计时逻辑基本一致,因此可以抽象出一个工具方法。
目录
- 前言
- 思路
- 实现
- 总结
前言
本篇文章主要实现一个无样式的倒计时 hook 组件,通常不同地方的倒计时样式都不同,但倒计时的逻辑基本是都是一样的,因此可以抽离成一个工具方法或者一个 hook 组件,这样让倒计时逻辑可以进行通用,样式让业务方具体去实现。
思路
倒计时可能需要显示剩余时间的单位有:天、时、分、秒、毫秒,可能只需显示一个,也可能都需要显示。
注意细节:
- 只显示某一单位的时间或者需要显示的最大单元时间,需要可以大于正常时间最大限制,比如要剩余 100 小时 58 分时,小时需要可以大于 23,分钟不能大于 59 。
- 需要可以设置是否显示毫秒,1s等于1000ms,但人的反应时间是0.2s~0.3s,因此毫秒以百为单位显示,显示毫秒适用于秒杀类活动场景。
实现
先来定义好参数:
export interface CountDownOptions { /** 截止时间,时间戳 */ deadlineTime: number; /** 是否需要毫秒 */ showMillisecond?: boolean; }
参数只需要倒计时截止时间以及是否需要显示毫秒。

