@ozen-ui/kit
Version:
React component library
18 lines (17 loc) • 576 B
JavaScript
import { useMemo, useRef } from 'react';
import { setRef } from '../../utils/setRef';
/** Создает несколько ссылок (ref) на один DOM-элемент. */
export function useMultiRef(refs) {
// Мемоизирует массив ref'ов
var arrRefs = useRef(refs);
return useMemo(function () {
if (!arrRefs.current.length) {
return null;
}
return function (node) {
arrRefs.current.forEach(function (ref) {
setRef(ref, node);
});
};
}, [arrRefs]);
}