| 1234567891011121314151617 |
- import { useEffect, useState } from 'react'
- export default function useDebounce<T>(value: T, delay = 0): T {
- const [debouncedValue, setDebouncedValue] = useState(value)
- useEffect(() => {
- const timer = window.setTimeout(() => {
- setDebouncedValue(value)
- }, delay)
- return () => {
- window.clearTimeout(timer)
- }
- }, [value, delay])
- return debouncedValue
- }
|