UNPKG

@restart/hooks

Version:

A set of utility and general-purpose React hooks.

21 lines (20 loc) 680 B
import { useEffect, useDebugValue } from 'react'; import useDebouncedState from './useDebouncedState'; /** * Debounce a value change by a specified number of milliseconds. Useful * when you want need to trigger a change based on a value change, but want * to defer changes until the changes reach some level of infrequency. * * @param value * @param delayMs * @returns */ function useDebouncedValue(value, delayMs = 500) { const [debouncedValue, setDebouncedValue] = useDebouncedState(value, delayMs); useDebugValue(debouncedValue); useEffect(() => { setDebouncedValue(value); }, [value, delayMs]); return debouncedValue; } export default useDebouncedValue;