Untitled
unknown
javascript
3 years ago
475 B
11
Indexable
import { useEffect, useRef } from 'react';
export default function useInterval(callback, delay) {
const savedCallback = useRef(null);
useEffect(() => {
savedCallback.current = callback;
}, [callback]);
useEffect(() => {
function handleCallback() {
savedCallback.current();
}
if (delay !== null) {
const id = setInterval(handleCallback, delay);
return () => {
clearInterval(id);
};
}
}, [callback, delay]);
}
Editor is loading...