Rehooks

useSleep

Resolves after a specified delay.

useSleep

Installation

npx rehooks-cli@latest add useSleep

Usage

Component.tsx
import { useSleep } from "~/hooks/useSleep";
import { useState } from "react";
 
function Component() {
  const [isSleeping, setIsSleeping] = useState(false);
  const sleep = useSleep();
 
  const handleClick = () => {
    setIsSleeping(true);
    sleep(2000).then(() => setIsSleeping(false));
  };
 
  return (
    <div>
      <p>Is sleeping: {isSleeping ? "true" : "false"}</p>
      <button onClick={handleClick}>Sleep</button>
    </div>
  );
}

API

useSleep

useSleep.ts
function useSleep(): (ms: number) => Promise<void>;

Resolves after a specified delay.

Parameters

NameTypeDescription
msnumberThe number of milliseconds to wait before resolving.

Returns

NameTypeDescription
Promise<void>A promise that resolves after the specified delay.

On this page