获取渲染反应目标/ DIV

时间:2016-11-15 22:45:54

标签: javascript reactjs jsx

是否可以访问在其中呈现它的react元素的父节点?

示例:

<div id='some-app'></div>
ReactDOM.render(<App />, document.getElementById('some-app'))

在React Component中

[...] extends React.component {
  constructor(props) {
    console.log('I have been rendered into ' + pseudoGetIdOfParentDiv())
    // outputs: 'I have been rendered into some-app'
  }

1 个答案:

答案 0 :(得分:1)

您可以在安装组件后使用ReactDOM.findDOMNode(this)(即在componentDidMount()函数中)以获取组件的根节点。然后,您可以访问其parentNode属性。

let node = ReactDOM.findDOMNode(this);
let parentNode = node.parentNode;

仅在安装组件后执行此操作 - 否则findDOMNode(this)将返回null。

componentDidMount()上的信息可在此处找到:https://facebook.github.io/react/docs/react-component.html#componentdidmountfindDOMNode()此处:https://facebook.github.io/react/docs/react-dom.html#finddomnode