1

我正在尝试使用这样的反应组件:

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

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

4

1 回答 1

0

您可以通过这种方式访问​​挂载的 DOM 元素this.refs.item。也适用于您的子(行)组件。

在此处查看使用演示的 JSBIN

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

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

  • 反应组件,如果你这样做<MyComponent ref="foo"/>
  • 如果您将 ref 放入普通 HTML 项目中,则为 DOM 元素,例如。`

另请参阅此处的反应文档,其中包含重要警告并建议何时使用或不使用 refs。

于 2015-11-09T14:49:13.247 回答