ahooks
Version:
react hooks library
25 lines (24 loc) • 888 B
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"));
function useThrottle(value, options) {
var _useState = (0, _react.useState)(value),
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
throttled = _useState2[0],
setThrottled = _useState2[1];
var _useThrottleFn = (0, _useThrottleFn2["default"])(function () {
setThrottled(value);
}, options),
run = _useThrottleFn.run;
(0, _react.useEffect)(function () {
run();
}, [value]);
return throttled;
}
var _default = exports["default"] = useThrottle;