use-interval
April 17, 2025 ยท View on GitHub
React hook for setting an interval as posted on overreacted.io
Dan Abramov's blog post explaining why you cannot just use setInterval within useEffect.
Used by
- openai / codex
- codesandbox / codesandbox-client
- kentcdodds / react-performance
- siddharthkp / react-ui
- element-motion
- wintercounter / mhy
- sagemathinc / cocalc
- wintercounter / mhy
Install
npm install --save use-interval
Usage
import * as React from 'react'
import useInterval from 'use-interval'
const Example = () => {
let [count, setCount] = React.useState(0);
useInterval(() => {
// Your custom logic here
setCount(count + 1);
}, 1000); // passing null instead of 1000 will cancel the interval if it is already running
return <h1>{count}</h1>;
}
// TypeScript Declaration
useInterval(
callback: () => void,
delay: number,
immediate?: boolean /* called when mounted if true */
)
License
MIT
This hook is created using create-react-hook.