useEvent.js 741 B

1234567891011121314151617181920
  1. "use strict";
  2. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = useEvent;
  7. var React = _interopRequireWildcard(require("react"));
  8. function useEvent(callback) {
  9. var fnRef = React.useRef();
  10. fnRef.current = callback;
  11. var memoFn = React.useCallback(function () {
  12. var _fnRef$current;
  13. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  14. args[_key] = arguments[_key];
  15. }
  16. return (_fnRef$current = fnRef.current) === null || _fnRef$current === void 0 ? void 0 : _fnRef$current.call.apply(_fnRef$current, [fnRef].concat(args));
  17. }, []);
  18. return memoFn;
  19. }