UNPKG

web-toolkit

Version:

A GTK inspired toolkit designed to build awesome web apps

37 lines (30 loc) 1.09 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useForkRef; var React = _interopRequireWildcard(require("react")); var _setRef = _interopRequireDefault(require("./setRef")); /* * useForkRef.js * source: https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/utils/useForkRef.js */ function useForkRef(refA, refB) { /** * This will create a new function if the ref props change and are defined. * This means react will call the old forkRef with `null` and the new forkRef * with the ref. Cleanup naturally emerges from this behavior */ return React.useMemo(function () { if (refA == null && refB == null) { return null; } return function (refValue) { (0, _setRef.default)(refA, refValue); (0, _setRef.default)(refB, refValue); }; }, [refA, refB]); } //# sourceMappingURL=useForkRef.js.map