useInterval with pause

Custom Hooks — Intermediate React challenge.

Dan Abramov's classic. Build a declarative `useInterval` hook that can be paused by passing `null` as the delay and always uses the latest callback.

Requirements

Signature

function useInterval(callback: () => void, delay: number | null): void

Example

useInterval(() => setCount(c => c + 1), running ? 1000 : null);

Constraints

🏷️ Get 20% OFF on Yearly & Lifetime plans — use code 🏷️ Get 20% OFF on Yearly & Lifetime plans — use code 🏷️ Get 20% OFF on Yearly & Lifetime plans — use code 🏷️ Get 20% OFF on Yearly & Lifetime plans — use code 🏷️ Get 20% OFF on Yearly & Lifetime plans — use code 🏷️ Get 20% OFF on Yearly & Lifetime plans — use code
Loading workspace…