我给了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的子节点,但硬编码一个神奇的数字似乎很愚蠢。
答案 0 :(得分:1)
我错误地认为ReactDOM.findDOMNode(this.refs.myElement)
已被弃用,但它仍然得到了完全支持,并使这个过程变得更加容易......
不必getWrappedInstance()
或导出{ withRef: true }
https://facebook.github.io/react/docs/react-dom.html#finddomnode