为什么不能附上裁判?

时间:2015-11-09 10:47:31

标签: reactjs refs

我试图使用这样的反应组件:

<Dialog ref='dialog'>
  ....
  <Row ref='item'/>
  ....
</Dialog>

为什么我的代码中不能使用this.refs.item? 附:我通过另一种方式解决了这个问题,但这个问题让我很感兴趣。

1 个答案:

答案 0 :(得分:0)

您可以通过这种方式使用this.refs.item访问已安装的DOM元素。 也适用于您的孩子(行)组件。

请参阅working JSBIN with demo here

如何实现这一点取决于您使用的反应版本。

在反应版本0.13.1中,您仍然需要使用React.findDOMNode(this.refs.item)来获取DOM元素。在以后的版本中(0.14)this.refs.items指向:

  • 如果执行<MyComponent ref="foo"/>
  • ,请执行反应组件
  • DOM元素,如果你把ref放在vanilla HTML项目中,例如。 `

另请参阅react documentation here,并附上重要警告,并建议何时使用或不使用参考号。