1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/dashboard/client/hooks/useInterval.ts
Sebastian Malton b1ff34879a cleanup Lens repo with tighter linting
Signed-off-by: Sebastian Malton <smalton@mirantis.com>
2020-07-09 17:00:23 -04:00

18 lines
414 B
TypeScript

import { useRef, useEffect } from "react";
export function useInterval(callback: () => void, delay: number): void {
const savedCallback = useRef<() => void>();
useEffect(() => {
savedCallback.current = callback;
});
useEffect(() => {
function tick(): void {
savedCallback.current();
}
const id = setInterval(tick, delay);
return (): void => clearInterval(id);
}, [delay]);
}