GuobaGuoba Utils

useDebounce

@guoba-ai/hook / useDebounce

Function: useDebounce()

function useDebounce<T>(value, delay?): T;

Defined in: useDebounce.ts:29

Debounce a value. The returned value only updates after the specified delay has passed without any new changes.

Parameters

value

T

The value to debounce

delay?

number = 500

Delay in milliseconds (defaults to 500)

Returns

T

The debounced value

Example

const [text, setText] = useState('')
const debouncedText = useDebounce(text, 300)
// debouncedText updates 300ms after the last setText call

const debouncedValue = useDebounce(value)
// Uses the default 500ms delay

function SearchBox({ search }: { search: (query: string) => void }) {
  const [query, setQuery] = useState('')
  const debouncedQuery = useDebounce(query, 300)
  useEffect(() => search(debouncedQuery), [debouncedQuery, search])
  return <input value={query} onChange={event => setQuery(event.target.value)} />
}

Warning

The initial value is returned immediately. Later changes are delayed, and pending updates are cleared on unmount.

On this page