Files
karma/ui/src/Hooks/useDebounce.ts
2020-07-17 11:58:41 +01:00

20 lines
433 B
TypeScript

import { useState, useEffect } from "react";
// https://usehooks.com/useDebounce/
function useDebounce(value: any, delay: number) {
const [debouncedValue, setDebouncedValue] = useState(value);
useEffect(() => {
const handler = setTimeout(() => {
setDebouncedValue(value);
}, delay);
return () => {
clearTimeout(handler);
};
}, [value, delay]);
return debouncedValue;
}
export { useDebounce };