如何始终获得React组件的顶级DOM节点?

时间:2017-06-27 22:41:08

标签: reactjs react-redux

我给了this.props.jsx,它是React组件或DOM节点。

我想挂载React.cloneElement(this.props.jsx, ref: { 'myElement' });,然后访问this.refs.myElement

问题是ref实际上是一个Connect对象,如果我导出该对象{ withRef: true }然后调用getWrappedInstance(),结果仍然是一个React组件,而不是React组件的DOM节点

如何才能始终获得已安装的React组件的顶级DOM节点?

我目前正在追求ReactDOM.findDOMNode()

我能想到的唯一解决方案是定位一个包装器ref并访问ref的子节点,但硬编码一个神奇的数字似乎很愚蠢。

1 个答案:

答案 0 :(得分:1)

我错误地认为ReactDOM.findDOMNode(this.refs.myElement)已被弃用,但它仍然得到了完全支持,并使这个过程变得更加容易......

不必getWrappedInstance()或导出{ withRef: true }

https://facebook.github.io/react/docs/react-dom.html#finddomnode