UNPKG

react-hooks-toolbox

Version:

React hooks toolbox

32 lines (24 loc) 747 B
"use strict"; exports.__esModule = true; exports.useDebounce = useDebounce; var _react = require("react"); function useDebounce(data, delay) { var handler = (0, _react.useRef)(); var _useState = (0, _react.useState)(data), value = _useState[0], setValue = _useState[1]; var optionsString = void 0; try { optionsString = JSON.stringify(data); } catch (err) {} (0, _react.useEffect)(function () { handler.current = setTimeout(function () { setValue(data); }, delay); return function () { clearTimeout(handler.current); }; // eslint-disable-next-line react-hooks/exhaustive-deps }, [optionsString, delay]); return value; }