@ozen-ui/kit
Version:
React component library
21 lines (20 loc) • 713 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useMultiRef = useMultiRef;
var react_1 = require("react");
var setRef_1 = require("../../utils/setRef");
/** Создает несколько ссылок (ref) на один DOM-элемент. */
function useMultiRef(refs) {
// Мемоизирует массив ref'ов
var arrRefs = (0, react_1.useRef)(refs);
return (0, react_1.useMemo)(function () {
if (!arrRefs.current.length) {
return null;
}
return function (node) {
arrRefs.current.forEach(function (ref) {
(0, setRef_1.setRef)(ref, node);
});
};
}, [arrRefs]);
}
;