UNPKG

733 BJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.default = useEventCallback;
9
10var _react = _interopRequireDefault(require("react"));
11
12var useEnhancedEffect = typeof window !== 'undefined' ? _react.default.useLayoutEffect : _react.default.useEffect;
13/**
14 * https://github.com/facebook/react/issues/14099#issuecomment-440013892
15 *
16 * @param {function} fn
17 */
18
19function useEventCallback(fn) {
20 var ref = _react.default.useRef(fn);
21
22 useEnhancedEffect(function () {
23 ref.current = fn;
24 });
25 return _react.default.useCallback(function () {
26 return (0, ref.current).apply(void 0, arguments);
27 }, []);
28}
\No newline at end of file