plane/web/core/hooks/use-debounce.tsx
2024-06-11 14:39:52 +05:30

20 lines
426 B
TypeScript

import { useState, useEffect } from "react";
const useDebounce = (value: any, milliSeconds: number) => {
const [debouncedValue, setDebouncedValue] = useState(value);
useEffect(() => {
const handler = setTimeout(() => {
setDebouncedValue(value);
}, milliSeconds);
return () => {
clearTimeout(handler);
};
}, [value, milliSeconds]);
return debouncedValue;
};
export default useDebounce;