Files
openchamber/packages/ui/src/hooks/useDebouncedValue.ts
T

18 lines
408 B
TypeScript
Raw Normal View History

2025-12-07 19:32:53 +02:00
import * as React from 'react';
export const useDebouncedValue = <T>(value: T, delayMs = 200): T => {
const [debouncedValue, setDebouncedValue] = React.useState(value);
React.useEffect(() => {
const handle = window.setTimeout(() => {
setDebouncedValue(value);
}, delayMs);
return () => {
window.clearTimeout(handle);
};
}, [value, delayMs]);
return debouncedValue;
};