From 1a2241c40e10193c5ff7008a7b7b36cc1d855d96 Mon Sep 17 00:00:00 2001 From: joonhoekim <26rote@gmail.com> Date: Tue, 25 Mar 2025 15:55:45 +0900 Subject: initial commit --- hooks/use-debounce.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 hooks/use-debounce.ts (limited to 'hooks/use-debounce.ts') diff --git a/hooks/use-debounce.ts b/hooks/use-debounce.ts new file mode 100644 index 00000000..5c0b504a --- /dev/null +++ b/hooks/use-debounce.ts @@ -0,0 +1,15 @@ +import * as React from "react" + +export function useDebounce(value: T, delay?: number): T { + const [debouncedValue, setDebouncedValue] = React.useState(value) + + React.useEffect(() => { + const timer = setTimeout(() => setDebouncedValue(value), delay ?? 500) + + return () => { + clearTimeout(timer) + } + }, [value, delay]) + + return debouncedValue +} -- cgit v1.2.3