1export function useDebounce<T>(value: T, delay: number): T { 2 const [debounced, setDebounced] = useState<T>(value); 3 useEffect(() => { 4 const timer = setTimeout(() => setDebounced(value), delay); 5 return () => clearTimeout(timer); 6 }, [value, delay]); 7 return debounced; 8}
useDebounce hook for optimizing search inputs.