diff options
Diffstat (limited to 'lib/hooks/useDebounce.js')
| -rw-r--r-- | lib/hooks/useDebounce.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/hooks/useDebounce.js b/lib/hooks/useDebounce.js new file mode 100644 index 0000000..e3a1631 --- /dev/null +++ b/lib/hooks/useDebounce.js @@ -0,0 +1,17 @@ +import { useEffect, useState } from "react"; + +export default function useDebounce(value, delay) { + const [debounceValue, setDebounceValue] = useState(value); + + useEffect(() => { + const timeoutId = setTimeout(() => { + setDebounceValue(value); + }, delay); + + return () => { + clearTimeout(timeoutId); + }; + }, [value, delay]); + + return debounceValue; +} |