UNPKG

679 BJavaScriptView Raw
1import { useState } from 'react';
2import useDebouncedCallback from './useDebouncedCallback';
3/**
4 * Similar to `useState`, except the setter function is debounced by
5 * the specified delay.
6 *
7 * ```ts
8 * const [value, setValue] = useDebouncedState('test', 500)
9 *
10 * setValue('test2')
11 * ```
12 *
13 * @param initialState initial state value
14 * @param delay The milliseconds delay before a new value is set
15 */
16
17export default function useDebouncedState(initialState, delay) {
18 var _useState = useState(initialState),
19 state = _useState[0],
20 setState = _useState[1];
21
22 var debouncedSetState = useDebouncedCallback(setState, delay);
23 return [state, debouncedSetState];
24}
\No newline at end of file