Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import { useEffect, useRef } from 'react'; export function useInterval(callback: () => void, delay: number) { // eslint-disable-next-line @typescript-eslint/no-empty-function const savedCallback = useRef(() => {}); useEffect(() => { savedCallback.current = callback; }); useEffect(() => { function tick() { savedCallback.current(); } const id = setInterval(tick, delay); return () => clearInterval(id); }, [delay]); } |