Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import { useEffect, useState } from "react"; export const useDebouncedValue = <T>(value: T, delayMs: number): T => { const [debouncedValue, setDebouncedValue] = useState(value); useEffect(() => { const timeoutId = window.setTimeout(() => { setDebouncedValue(value); }, delayMs); return () => { window.clearTimeout(timeoutId); }; }, [value, delayMs]); return debouncedValue; }; |