@gechiui/components
Version:
UI components for GeChiUI.
29 lines (26 loc) • 665 B
JavaScript
/**
* GeChiUI dependencies
*/
import { useRef, useEffect } from '@gechiui/element';
/**
* External dependencies
*/
// eslint-disable-next-line no-restricted-imports
export function useCombinedRef() {
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
refs[_key] = arguments[_key];
}
const targetRef = useRef(null);
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