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 | 1x 1x 1x 6x 6x 6x 4x 2x 4x 4x 4x 4x 4x 6x 6x 6x 6x | import { useEffect, useState } from 'react';
export const useDebouncedValue = <TValue>(value: TValue, delayMs: number = 300): TValue => {
const [debouncedValue, setDebouncedValue] = useState<TValue>(value);
useEffect(() => {
const timeoutHandle = setTimeout(() => {
setDebouncedValue(value);
}, delayMs);
return () => {
clearTimeout(timeoutHandle);
};
}, [value, delayMs]);
return debouncedValue;
};
|