UNPKG

@antmjs/vantui

Version:

一套适用于Taro3及React的vantui组件库

29 lines (28 loc) 1.07 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.useDepsTimeout = void 0; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _react = require("react"); var _usePersistFn = require("../usePersistFn"); var useDepsTimeout = function useDepsTimeout(fn, deps, delay) { var timerCallback = (0, _usePersistFn.usePersistFn)(fn); var timerRef = (0, _react.useRef)(null); var clear = (0, _usePersistFn.usePersistFn)(function () { if (timerRef.current) { clearTimeout(timerRef.current); } }); (0, _react.useEffect)(function () { if (typeof delay !== 'number' || delay < 0) { return; } timerRef.current = setTimeout(timerCallback, delay); return clear; // eslint-disable-next-line react-hooks/exhaustive-deps }, [delay, clear, timerCallback].concat((0, _toConsumableArray2.default)(deps))); return clear; }; exports.useDepsTimeout = useDepsTimeout;