Files
DataMate/frontend/src/hooks/useDebouncedEffect.ts

18 lines
312 B
TypeScript

import { useEffect } from "react";
export function useDebouncedEffect(
cb: () => void,
deps: any[] = [],
delay: number = 300
) {
useEffect(() => {
const handler = setTimeout(() => {
cb();
}, delay);
return () => {
clearTimeout(handler);
};
}, [...(deps || []), delay]);
}