Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/llms-txt-hub / packages/hooks/src/use-debounce.tsx |
| Date | Not specified in source |
| Repository | Janady13/llms-txt-hub |
| Revision | e0f4bf978d4df168369c7601d9c5f5ea89e84377 |
| Branch | main |
| Path or archive member | packages/hooks/src/use-debounce.tsx |
| Original SHA-256 | 47991a57360836de3c78c219f3dc8eb2479603ce291c82d5809998d4ff6be196 |
| Git blob SHA | 9e0779857af13d97af9b1f58dfbc4d6e60b8dd47 |
| Reading-copy SHA-256 | 47991a57360836de3c78c219f3dc8eb2479603ce291c82d5809998d4ff6be196 |
Recovered source transcript
Download complete source text ↓32 lines · 0.7 KB
import { useEffect, useState } from 'react'
/**
* A hook that returns a debounced value that only updates after a specified delay
*
* @param value - The value to debounce
* @param delay - The delay in milliseconds
*
* @returns The debounced value
*
* @example
* ```tsx
* const [value, setValue] = useState("")
* const debouncedValue = useDebounce(value, 500)
* ```
*/
export function useDebounce<T>(value: T, delay: number): T {
const [debouncedValue, setDebouncedValue] = useState<T>(value)
useEffect(() => {
const handler = setTimeout(() => {
setDebouncedValue(value)
}, delay)
return () => {
clearTimeout(handler)
}
}, [value, delay])
return debouncedValue
}