UNPKG

acud

Version:

acg react 组件库

30 lines (28 loc) • 865 B
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = useRafDebounce; var _react = _interopRequireDefault(require("react")); var _raf = _interopRequireDefault(require("rc-util/lib/raf")); var _rcUtil = require("rc-util"); /* eslint-disable no-undef */ /** * Callback will only execute last one for each raf */ function useRafDebounce(callback) { var executeRef = _react["default"].useRef(false); var rafRef = _react["default"].useRef(); var wrapperCallback = (0, _rcUtil.useEvent)(callback); return function () { if (executeRef.current) { return; } executeRef.current = true; wrapperCallback(); rafRef.current = (0, _raf["default"])(function () { executeRef.current = false; }); }; }