UNPKG

@material-ui/core

Version:

React components that implement Google's Material Design.

27 lines (22 loc) 698 B
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useEventCallback; var React = _interopRequireWildcard(require("react")); var useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect; /** * https://github.com/facebook/react/issues/14099#issuecomment-440013892 * * @param {function} fn */ function useEventCallback(fn) { var ref = React.useRef(fn); useEnhancedEffect(function () { ref.current = fn; }); return React.useCallback(function () { return (0, ref.current).apply(void 0, arguments); }, []); }