useDebouncedState()function

useDebouncedState(initial: T, delay = 500): [T, (v: T) => void]
ParamType
initialT
The initial state value. required
delayunknown
The debounce delay in milliseconds (defaults to 500). Defaults to 500
Return
[T, (v: T) => void]
A [state, setState] tuple, where setState defers the update by delay.

Hold a piece of state that only updates after a debounce delay since the last set.

  • The state changes only once delay milliseconds have elapsed with no further sets — useful for waiting until a user stops typing before reacting.

Examples

const [query, setQuery] = useDebouncedState("");