@geniussoft/use-hooks
Version:
Reusable React Hooks from useHooks.com and other online resources
21 lines (20 loc) • 620 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = require("react");
const useInterval = (callback, delay) => {
const savedCallback = react_1.useRef();
react_1.useEffect(() => {
savedCallback.current = callback;
}, [callback]);
react_1.useEffect(() => {
function tick() {
if (savedCallback.current)
savedCallback.current();
}
if (delay !== null) {
const id = setInterval(tick, delay);
return () => clearInterval(id);
}
}, [delay]);
};
exports.default = useInterval;
;