@orca-fe/hooks
Version:
React Hooks Collections
36 lines (35 loc) • 1.17 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useMergedRefs;
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _ahooks = require("ahooks");
function useMergedRefs() {
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
refs[_key] = arguments[_key];
}
return (0, _ahooks.useMemoizedFn)(function (instance) {
refs.forEach(function (ref) {
if (typeof ref === 'function') {
ref(instance);
} else if (ref != null && (0, _typeof2.default)(ref) === 'object') {
// eslint-disable-next-line no-param-reassign
ref.current = instance;
}
});
});
}
useMergedRefs.mergeRefs = function (refs) {
return function (instance) {
refs.forEach(function (ref) {
if (typeof ref === 'function') {
ref(instance);
} else if (ref != null && (0, _typeof2.default)(ref) === 'object') {
// eslint-disable-next-line no-param-reassign
ref.current = instance;
}
});
};
};