beta/hooks/use-debounce.ts
Christopher Arraya 53c3cd3d6e initial commit
2023-11-04 14:57:25 -04:00

16 lines
374 B
TypeScript

import * as React from "react";
export function useDebounce<T>(value: T, delay?: number): T {
const [debouncedValue, setDebouncedValue] = React.useState<T>(value);
React.useEffect(() => {
const timer = setTimeout(() => setDebouncedValue(value), delay || 500);
return () => {
clearTimeout(timer);
};
}, [value, delay]);
return debouncedValue;
}