@bradgarropy/use-countdown

中文文档
2.0.1发布于 2023/10/12MITTypeScriptCommonJS近 30 天下载 9145

使用已解析的钩子

中文使用文档
文档目录6 节
  1. * 安装
  2. 使用量
  3. API 参考
  4. useCountdown({minutes, seconds})
  5. 问题
  6. • 贡献者

使用已解析的钩子

version downloads size github actions codecov typescript contributing contributors discord

反应 钩倒计时器. 正如我所见 抖动 流经.

next link

* 安装

此软件包托管于 无。 。 。 .

npm install @bradgarropy/use-countdown

使用量

在任何反应组件中,导入 useCountdown,然后叫它像任何其他 钩子返回时 countdown 值将随剩余时间而更新.

import useCountdown from "@bradgarropy/use-countdown"

const App = () => {
    const countdown = useCountdown({
        minutes: 1,
        seconds: 30,
        format: "mm:ss",
        autoStart: true,
        onCompleted: () => console.log("onCompleted"),
    })

    console.log(countdown)

    // {minutes: 1, seconds: 30, formatted: "01:30", ...}
    // {minutes: 1, seconds: 29, formatted: "01:29", ...}
    // {minutes: 1, seconds: 28, formatted: "01:28", ...}
    // ...
    // {minutes: 0, seconds: 0, formatted: "00:00", ...}
    // onCompleted()
}

API 参考

useCountdown({minutes, seconds})

名称需求默认示例说明
minutesfalse01倒计时分钟.
secondsfalse030倒计时秒.
formatfalsemm:ssmm:ss:SS格式字符串( E)参考文献) (中文(简体) ).
autoStartfalsefalsetrue是否自动开始倒计时 .
onCompletedfalseundefinedfunction倒计时完成后调用函数 .

根据提供的分数和秒数开始倒计时。 回来的 countdown 对象每秒更新一次,计时器打出零时停止.

这个 format 参数为 a date-fns 格式字符串.

如果提供,则 onCompleted 函数将在倒计时完成时调用.

这里有一些例子 如何呼叫 useCountdown。 。 。 .

const countdown = useCountdown({
    minutes: 1,
    seconds: 30,
    format: "mm:ss:SS",
    autoStart: true,
    onCompleted: () => console.log("onCompleted"),
})

const countdown = useCountdown({
    minutes: 5,
    onCompleted: () => console.log("onCompleted"),
})

const countdown = useCountdown({seconds: 10, format: "mm:ss:SS"})

返回对象每秒更新一次,直到倒计时器结束.

名称类型示例说明
minutesnumber1剩下的几分钟.
secondsnumber30剩下的几秒钟.
formattedstring01:30格式化剩余时间 .
isActivebooleantrue表示倒计时活动,或是运行,或是暂停.
isInactivebooleanfalse表示倒计时不活动,并已完成倒计时.
isRunningbooleantrue表示倒计时正在运行.
isPausedbooleanfalse表示倒计时暂停.
pausefunctionfunction暂停倒计时.
resumefunctionfunction复次倒计时.
resetfunctionfunction恢复倒计时.

以下是返回对象的例子.

{
    minutes: 1,
    seconds: 30,
    formatted: "01:30",
    isActive: true,
    isInactive: false,
    isRunning: true,
    isPaused: false,
    pause: () => void,
    resume: () => void,
    reset: (time?: Time) => void,
}

问题

qq 通过文件报告错误 问题
提供反馈 问题 或继续 推特上说
用我的来 阿玛 或者说 推特上说 问任何其他问题

• 贡献者

Brad Garropy
布拉德・加罗皮

💻 📖 ⚠️ 🚇
Matthew Scholta
马修·肖尔塔

💻 📖
James Q Quick
詹姆斯·克莱克

🤔 📓
Steven Hofheins
史蒂文·霍芬斯

📝 ✅
Jack Reiker
杰克・雷克

🤔 📓
Mehdi Makhloufi
迈赫迪·马赫卢菲

🤔 📓
Daniel Badir
丹尼尔·巴迪尔

🐛 🤔 📓
Florin Cosmin
弗洛林·科斯明

💻
Nick DiMatteo
尼克·迪马特奥

🐛
Jimmy Longley
吉米·龙利

🤔
Nuno Fonseca
努诺·丰塞卡

🤔
Nathan Arthur
内森·亚瑟

🐛
msopacua
苏帕夸

🐛 💻

版本与发布记录

@bradgarropy/use-countdown 共发布 24 个版本,首次发布于 2021/01/27;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.0.1latest2023/10/123 年前
2.0.02023/07/193 年前
2.0.0-alpha.02023/07/193 年前
1.5.22022/11/173 年前
1.5.12022/06/254 年前
1.5.02022/06/224 年前

关于 @bradgarropy/use-countdown 的常见问题

@bradgarropy/use-countdown 是什么?

使用已解析的钩子

如何安装 @bradgarropy/use-countdown?

在项目目录运行 npm install @bradgarropy/use-countdown,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=16)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@bradgarropy/use-countdown 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bradgarropy/use-countdown 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@bradgarropy/use-countdown 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=10。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bradgarropy/use-countdown 可以商用吗?

@bradgarropy/use-countdown 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bradgarropy/use-countdown 的下载量有多少?

根据 npm 官方下载统计,@bradgarropy/use-countdown 在 2026/10/09 – 2026/11/07 这 30 天内被下载 9,145 次,日均约 305 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bradgarropy/use-countdown 还在维护吗?

最新版本 2.0.1 发布于 2023/10/12(3 年前);至今共发布 24 个版本,其中过去 12 个月发布了 0 个;首次发布于 2021/01/27。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。