From ea5dc617cea04e0621855f5c755a7cafc084c087 Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Thu, 1 Jun 2023 18:01:19 +0000 Subject: [PATCH] added `useDebounce` hook --- packages/app/src/hooks/useDebounce/index.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 packages/app/src/hooks/useDebounce/index.js diff --git a/packages/app/src/hooks/useDebounce/index.js b/packages/app/src/hooks/useDebounce/index.js new file mode 100644 index 00000000..adb85ba6 --- /dev/null +++ b/packages/app/src/hooks/useDebounce/index.js @@ -0,0 +1,15 @@ +export default (value, delay) => { + const [debouncedValue, setDebouncedValue] = React.useState(value) + + React.useEffect(() => { + const handler = setTimeout(() => { + setDebouncedValue(value) + }, delay) + + return () => { + clearTimeout(handler) + } + }, [value, delay]) + + return debouncedValue +} \ No newline at end of file