@gechiui/components
Version:
UI components for GeChiUI.
32 lines (27 loc) • 715 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useCombinedRef = useCombinedRef;
var _element = require("@gechiui/element");
/**
* GeChiUI dependencies
*/
function useCombinedRef() {
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
refs[_key] = arguments[_key];
}
const targetRef = (0, _element.useRef)(null);
(0, _element.useEffect)(() => {
refs.forEach(ref => {
if (!ref) return;
if (typeof ref === 'function') {
ref(targetRef.current);
} else {
ref.current = targetRef.current;
}
});
}, [refs]);
return targetRef;
}
//# sourceMappingURL=use-combined-ref.js.map