【发布时间】:2014-10-28 14:06:48
【问题描述】:
假设我有comments 列表组件和comments 组件。我想实现将返回所有comments 组件的方法。我为每个comment 组件分配了相同的参考:
<comments>
<comment ref="myComments" text="abc" />
<comment ref="myComments" text="efg" />
</comments>
我以为我可以通过 this.refs.myComments 访问我的所有组件,但它不起作用 - 它只返回最后一个评论组件。
访问所有comment 组件的正确方法是什么?
【问题讨论】:
-
你想在这里实现什么,真的吗?
-
假设我有评论。我想找到这个评论的渲染组件。
-
我会详细说明,通常不建议使用
ref。通常这表明您拥有属于其他地方的状态,因此问题更像是“一旦有了孩子,您想对他们做什么?” -
仅供参考,
this.props.children返回描述符而不是实际安装的组件实例。因此,您不应该直接在这些孩子上调用方法,因为这是非常无状态的设计 -
你不应该这样做,也不建议这样做:facebook.github.io/react/docs/more-about-refs.html