Разобрался. Свойство рендера ref
на самом деле имеет неправильное название, это не ref
, а функция для установки ссылки, поэтому мы можем просто использовать встроенную функцию (хотя это может вызвать дополнительные рендеры):
function Component() {
const bRef = useRef(null);
return (
<A>
{({ref: setRef}) => (
<B ref={ref => {
bRef.current = ref;
setRef(ref);
}}/>
)}
</A>
)
}