我想在引导弹出窗口中显示chart.js / chart。为此,我定义了两个组件:一个用于Popover,一个用于Chart。在我的Popover组件中,我处理componentDidMount()并覆盖了Popover的模板,为Popover主体指定了ID,以便可以将图表安装到Popover主体中:
componentDidMount() {
$("#button").popover({
title: "My Chart",
template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body" id="popover-body"></div></div>',
html: true,
trigger: "focus"
}).popover("show");
ReactDOM.render(<MyChart/>, document.getElementById('popover-body'));
}
然后尝试在卸载Popover组件时卸载图表组件:
componentWillUnmount() {
ReactDOM.unmountComponentAtNode(document.getElementById('popover-body'))
$("#button").popover("hide");
}
但这给了我警告:
警告:unmountComponentAtNode():您尝试尝试的节点 卸载是由React的另一个副本呈现的
为什么会出现此错误? Popover组件不是Chart组件的父级吗?而我正在处理状态变化中的所有事情?
的完整示例