这在React版本0.12中工作得很好:
componentDidMount: function () { var dom = this.getDOMNode(); }
变量dom获取渲染组件的实际DOM节点。但是,将其转换为React 0.13不会按预期工作:
componentDidMount: function () { var dom = React.findDOMNode(); // dom is undefined }
我试过React.findDOMNode(这),也不工作。基本上我只是试图获取渲染函数渲染的顶级dom节点,而不使用ref。这可能吗?
传递这个作为参数应该肯定工作:
React.findDOMNode(this);
如果没有,别的事情可能会发生。见下面的演示:
var Test = React.createClass({ componentDidMount: function() { var dom = React.findDOMNode(this); console.log(dom); alert(dom); },render: function() { return React.DOM.div(null,'test'); } }); React.render(React.createElement(Test),document.getElementById('r'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.1/react.js"></script> <div id="r"></div>