useTimeout

一个 React Hook,用于创建一个在指定延迟后变化的状态。

演示

尝试在两秒内快速点击检查按钮,两秒后再试一次,或重置超时并再次尝试。

源码
isTimeout:
false
isTimeout:
false

用法

请查看 API。

源码

点击下方链接跳转 GitHub 查看源代码。

API

const isTimeout = useTimeout(2000) const { isTimeout, start, pause, reset } = useTimeout(2000, { controls: true })

间隔时间 Interval

一个 number 类型,表示延迟的毫秒数。

选项 Options

export interface UseTimeoutOptions<Controls extends boolean, Callback extends AnyFunc = AnyFunc> extends UseTimeoutFnOptions { /** * 暴露更多控制项 * * @defaultValue false */ controls?: Controls /** * 超时回调 */ callback?: Callback }

返回值

export type UseTimeoutReturns<Controls extends boolean, C extends AnyFunc = AnyFunc> = Controls extends true ? Pausable<[], Parameters<C> | []> & { /** * 超时状态 */ isTimeout: boolean /** * 重置超时 */ reset(): void } : boolean