UNPKG

@ozen-ui/kit

Version:

React component library

24 lines (23 loc) 877 B
"use strict"; 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]); }