Files
jobtrackingapp/job-tracker-ui/src/hooks/useDebouncedValue.ts
T
2026-03-21 11:55:27 +01:00

14 lines
350 B
TypeScript

import { useEffect, useState } from "react";
export function useDebouncedValue<T>(value: T, delayMs: number): T {
const [debounced, setDebounced] = useState<T>(value);
useEffect(() => {
const t = window.setTimeout(() => setDebounced(value), delayMs);
return () => window.clearTimeout(t);
}, [value, delayMs]);
return debounced;
}