@ozen-ui/kit
Version:
React component library
24 lines (23 loc) • 877 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useInterval = useInterval;
var react_1 = require("react");
function useInterval(
/** Функция обратного вызова которая будет срабатывать по заданному интервалу */
callback,
/** Интервал времени в миллисекундах */
interval) {
var savedCallback = (0, react_1.useRef)(callback);
(0, react_1.useEffect)(function () {
savedCallback.current = callback;
}, [callback]);
(0, react_1.useEffect)(function () {
var intervalId;
if (interval || interval === 0) {
intervalId = setInterval(function () { return savedCallback.current(); }, interval);
}
return function () {
clearInterval(intervalId);
};
}, [interval]);
}
;