plane/app/hooks/use-debounce.tsx

20 lines
426 B
TypeScript
Raw Normal View History

2023-04-21 23:30:36 +00:00
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;