Files
cinny/src/app/hooks/useInterval.ts
T

12 lines
338 B
TypeScript
Raw Normal View History

import { useEffect, useRef } from 'react';
export type IntervalCallback = () => void;
export const useInterval = (callback: IntervalCallback, ms: number): void => {
useEffect(() => {
if (ms < 0) return undefined;
const id = window.setInterval(callback, ms);
return () => window.clearInterval(id);
}, [callback, ms]);
};