UNPKG

@e-group/hooks

Version:

eGroup team react-hooks that share across projects.

29 lines (23 loc) 783 B
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useDebounce; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = require("react"); function useDebounce(value, delay) { const _useState = (0, _react.useState)(value), _useState2 = (0, _slicedToArray2.default)(_useState, 2), debouncedValue = _useState2[0], setDebouncedValue = _useState2[1]; (0, _react.useEffect)(() => { const handler = setTimeout(() => { setDebouncedValue(value); }, delay); return () => { clearTimeout(handler); }; }, [value, delay]); return debouncedValue; }