UNPKG

@geniussoft/use-hooks

Version:

Reusable React Hooks from useHooks.com and other online resources

21 lines (20 loc) 620 B
"use strict"; 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;