aboutsummaryrefslogtreecommitdiff
path: root/lib/hooks/useDebounce.js
diff options
context:
space:
mode:
authorFactiven <[email protected]>2023-09-12 21:45:30 +0700
committerFactiven <[email protected]>2023-09-12 21:45:30 +0700
commit701798acaeb28f657bd1420d06253d350eb41b96 (patch)
tree6df53eb6c7ae07c5af21bcd6d3a0078b1d196d13 /lib/hooks/useDebounce.js
parentCreate build-test.yml (diff)
downloadmoopa-701798acaeb28f657bd1420d06253d350eb41b96.tar.xz
moopa-701798acaeb28f657bd1420d06253d350eb41b96.zip
initial v4 commit
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;
+}