【发布时间】:2020-12-14 12:19:38
【问题描述】:
我正在创建一个显示/折叠动画,我需要访问动画元素的高度。所以我需要它在执行动画的组件中的引用(名为CollapseTransition)。我可以通过在父组件中创建一个 ref 并将其转发到动画组件来传递 ref,但在我看来,这是很多代码的方式,我不想在使用我的动画组件时编写 javascript。
有没有办法访问我创建的CollapseTransition 组件中的children 中的ref?
const refTransitionnedElement = useRef(null);
return (
<div>
<CollapseTransition visible={visible} ref={refTransitionnedElement}>
<div ref={refTransitionnedElement}>test</div>
</CollapseTransition>
</div>
);
export const CollapseTransition = forwardRef((props: { visible: boolean; children: any; }, ref) => {
//[...]
return (
<>[...]</>
);
});
最终,我想像这样使用我的CollapseTransition 组件:
<CollapseTransition visible={visible}>
<div>test</div>
</CollapseTransition>
虽然能够访问我的CollapseTransition 组件中的 div 的高度。
【问题讨论】:
标签: reactjs