UNPKG

810 BJavaScriptView Raw
1import { useEffect, useDebugValue } from 'react';
2import useDebouncedState from './useDebouncedState';
3/**
4 * Debounce a value change by a specified number of milliseconds. Useful
5 * when you want need to trigger a change based on a value change, but want
6 * to defer changes until the changes reach some level of infrequency.
7 *
8 * @param value
9 * @param delayMs
10 * @returns
11 */
12
13function useDebouncedValue(value, delayMs) {
14 if (delayMs === void 0) {
15 delayMs = 500;
16 }
17
18 var _useDebouncedState = useDebouncedState(value, delayMs),
19 debouncedValue = _useDebouncedState[0],
20 setDebouncedValue = _useDebouncedState[1];
21
22 useDebugValue(debouncedValue);
23 useEffect(function () {
24 setDebouncedValue(value);
25 }, [value, delayMs]);
26 return debouncedValue;
27}
28
29export default useDebouncedValue;
\No newline at end of file