and*_*ndy 8 javascript dom reactjs
所以我有一个组件需要一个作为prop传入的DOM元素.我试图在另一个组件中使用它,如下所示:
<div>
<div className="myPropDiv" ref="myPropDiv">...</div>
<CustomComponent view={ this.refs.myPropDiv } />
</div>
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为(我怀疑)DOM还没有在我正在调用的点上呈现this.refs.myPropDiv.我将如何完成这样的事情?
您无法直接访问 DOM,但可以使用 访问 React 组件的 DOM 元素ReactDOM.findDOMNode(component),因此要在调用中使用它,componentDidMount您可以使用:
var MyComponent = React.createComponent({
...
componentDidMount: function() {
var component = this,
node = ReactDOM.findDOMNode(component);
}
...
});
Run Code Online (Sandbox Code Playgroud)
然后,如果您正在查找该父 DOM 节点的子节点,则可以从该节点正常遍历 DOM,例如:
var childNode = node.querySelectorAll('.child-node-class')[0];
Run Code Online (Sandbox Code Playgroud)
然后你可以将它传递到你原来想要的任何地方。
| 归档时间: |
|
| 查看次数: |
7289 次 |
| 最近记录: |