From 9992e6fad90b6eef67b26b774d53f901644267d2 Mon Sep 17 00:00:00 2001 From: rray524 Date: Tue, 24 Dec 2024 16:35:54 +0530 Subject: [PATCH] create usedebounce hoook --- src/hooks/useDebounce.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/hooks/useDebounce.js diff --git a/src/hooks/useDebounce.js b/src/hooks/useDebounce.js new file mode 100644 index 0000000..aae5792 --- /dev/null +++ b/src/hooks/useDebounce.js @@ -0,0 +1,19 @@ +import { useState, useEffect } from "react"; + +const useDebounce = (value, delay) => { + const [debouncedValue, setDebouncedValue] = useState(value); + + useEffect(() => { + const handler = setTimeout(() => { + setDebouncedValue(value); + }, delay); + + return () => { + clearTimeout(handler); + }; + }, [value, delay]); + + return debouncedValue; +}; + +export default useDebounce;