aboutsummaryrefslogtreecommitdiff
path: root/lib/hooks/useDebounce.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/hooks/useDebounce.js')
-rw-r--r--lib/hooks/useDebounce.js17
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;
+}