Highly ambitious ATProtocol AppView service and sdks
at fix-postgres 21 lines 587 B view raw
1import { useEffect, useState } from "react"; 2 3/** 4 * Debounces a value by delaying updates until after the specified delay 5 * @param value The value to debounce 6 * @param delay Delay in milliseconds (default: 300ms) 7 * @returns The debounced value 8 */ 9export function useDebounce<T>(value: T, delay: number = 300): T { 10 const [debouncedValue, setDebouncedValue] = useState<T>(value); 11 12 useEffect(() => { 13 const timeoutId = setTimeout(() => { 14 setDebouncedValue(value); 15 }, delay); 16 17 return () => clearTimeout(timeoutId); 18 }, [value, delay]); 19 20 return debouncedValue; 21}