useEvent.js 785 B

1234567891011121314151617181920
  1. import { __spreadArray } from "tslib";
  2. /**
  3. * copy from https://github.com/react-component/util/blob/9d5cb8946da29e690bead78b2c251da6f7cbd0eb/src/hooks/useEvent.ts
  4. */
  5. /* eslint-disable @typescript-eslint/no-explicit-any */
  6. import * as React from 'functional-mini/compat';
  7. // eslint-disable-next-line @typescript-eslint/ban-types
  8. export function useEvent(callback) {
  9. var fnRef = React.useRef();
  10. fnRef.current = callback;
  11. var memoFn = React.useCallback((function () {
  12. var _a;
  13. var args = [];
  14. for (var _i = 0; _i < arguments.length; _i++) {
  15. args[_i] = arguments[_i];
  16. }
  17. return (_a = fnRef.current) === null || _a === void 0 ? void 0 : _a.call.apply(_a, __spreadArray([fnRef], args, false));
  18. }), []);
  19. return memoFn;
  20. }