@ozen-ui/kit
Version:
React component library
21 lines (20 loc) • 744 B
JavaScript
import { useEffect, useRef } from 'react';
export function useInterval(
/** Функция обратного вызова которая будет срабатывать по заданному интервалу */
callback,
/** Интервал времени в миллисекундах */
interval) {
var savedCallback = useRef(callback);
useEffect(function () {
savedCallback.current = callback;
}, [callback]);
useEffect(function () {
var intervalId;
if (interval || interval === 0) {
intervalId = setInterval(function () { return savedCallback.current(); }, interval);
}
return function () {
clearInterval(intervalId);
};
}, [interval]);
}