UNPKG

893 BJavaScriptView Raw
1"use strict";
2
3exports.__esModule = true;
4exports.default = useDebouncedState;
5
6var _react = require("react");
7
8var _useDebouncedCallback = _interopRequireDefault(require("./useDebouncedCallback"));
9
10function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
12/**
13 * Similar to `useState`, except the setter function is debounced by
14 * the specified delay.
15 *
16 * ```ts
17 * const [value, setValue] = useDebouncedState('test', 500)
18 *
19 * setValue('test2')
20 * ```
21 *
22 * @param initialState initial state value
23 * @param delay The milliseconds delay before a new value is set
24 */
25function useDebouncedState(initialState, delay) {
26 var _useState = (0, _react.useState)(initialState),
27 state = _useState[0],
28 setState = _useState[1];
29
30 var debouncedSetState = (0, _useDebouncedCallback.default)(setState, delay);
31 return [state, debouncedSetState];
32}
\No newline at end of file