本文介绍了访问父组件中的嵌套大子组件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要访问视图"组件中的"GreatGrandChild"组件.
I need to access 'GreatGrandChild' component in the 'View' component.
<View>
<Child>
....
</Child>
</View>
子组件:
<Child>
<GrandChild>
....
</GrandChild>
</Child>
GrandChild组件:
<GrandChild>
<GreatGrandChild>
....
</GreatGrandChild>
</GrandChild>
GreatGrandChild组件:
<GreatGrandChild ref={(component) => { this.component = component; }}>
....
</GreatGrandChild>
如何访问视图"组件中的"GreatGrandChild"组件?我可以使用裁判来访问它吗?在那种情况下,哪种生命周期方法最合适?
How do I access the 'GreatGrandChild' component in the 'View' component?Can I access it using refs? Which lifecycle method would be most appropriate in that case?
推荐答案
您可以使用常规道具传递您的引用-但它必须使用其他名称:
You can use a regular prop to pass your ref - but it must have a different name:
// somewhere in constructor
this.greatGrandChild = React.createRef();
<View>
<Child greatGrandChildRef={this.greatGrandChild}>
....
</Child>
</View>
<Child>
<GrandChild greatGrandChildRef={this.props.greatGrandChildRef}>
....
</GrandChild>
</Child>
<GrandChild>
<GreatGrandChild greatGrandChildRef={this.props.greatGrandChildRef}>
....
</GreatGrandChild>
</GrandChild>
<GreatGrandChild ref={this.props.greatGrandChildRef}>
....
</GreatGrandChild>
这与 styled-components
中的 innerRef
以及它们在React文档中的建议非常相似.
This is very much the same idea of innerRef
in styled-components
and how they suggest it in React docs.
这篇关于访问父组件中的嵌套大子组件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!