ahooks
Version:
react hooks library
26 lines (25 loc) • 1 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = require("react");
var _useThrottleFn2 = _interopRequireDefault(require("../useThrottleFn"));
var _useUpdateEffect = _interopRequireDefault(require("../useUpdateEffect"));
function useThrottleEffect(effect, deps, options) {
var _useState = (0, _react.useState)({}),
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
flag = _useState2[0],
setFlag = _useState2[1];
var _useThrottleFn = (0, _useThrottleFn2["default"])(function () {
setFlag({});
}, options),
run = _useThrottleFn.run;
(0, _react.useEffect)(function () {
return run();
}, deps);
(0, _useUpdateEffect["default"])(effect, [flag]);
}
var _default = exports["default"] = useThrottleEffect;