2026-05-19 16:45:02 -04:00
|
|
|
import { useEffect, useRef } from 'react';
|
2024-05-31 19:49:46 +05:30
|
|
|
|
|
|
|
|
export type IntervalCallback = () => void;
|
|
|
|
|
|
2026-05-19 16:45:02 -04:00
|
|
|
export const useInterval = (callback: IntervalCallback, ms: number): void => {
|
|
|
|
|
useEffect(() => {
|
2024-05-31 19:49:46 +05:30
|
|
|
if (ms < 0) return undefined;
|
2026-05-19 16:45:02 -04:00
|
|
|
const id = window.setInterval(callback, ms);
|
|
|
|
|
return () => window.clearInterval(id);
|
2024-05-31 19:49:46 +05:30
|
|
|
}, [callback, ms]);
|
|
|
|
|
};
|