blob: 5c0b504a2093e2d8567e90a1cac549dfeec9fdb1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import * as React from "react"
export function useDebounce<T>(value: T, delay?: number): T {
const [debouncedValue, setDebouncedValue] = React.useState<T>(value)
React.useEffect(() => {
const timer = setTimeout(() => setDebouncedValue(value), delay ?? 500)
return () => {
clearTimeout(timer)
}
}, [value, delay])
return debouncedValue
}
|