反应自毁组件

时间:2019-06-05 13:20:19

标签: reactjs

我有一个问题,我如何才能自行卸载组件。 所以基本上,当我单击组件时,它应该自行卸载 无需调用父组件,即可隐藏/显示属性。 这是我的代码示例。

onClose = () => {
    let mountNode = ReactDOM.findDOMNode(this);
    ReactDOM.unmountComponentAtNode(mountNode);
}

1 个答案:

答案 0 :(得分:2)

您可以存储对组件安装在节点实例上的节点的引用。ReactDOM.render() 使用ref回调返回。

class Thing extends React.Component {
  onClose = () => {
    ReactDOM.unmountComponentAtNode(this.mountNode);
  }
}
const node = document.getElementById("root");
const inst = ReactDOM.render(<Thing ref={(inst) => inst.mountNode = node} />, node);

(已编辑为使用ref,请@hawk欢呼。)