为了澄清起见,假设我有 3 个组件:<Child>, <Parent>, <GrandParent>
我正在尝试<Child>
在不渲染的<GrandParent>
情况下渲染<Parent>
(从中<Child>
调用)。
父.js
class Parent extends Component {
...
componentDidMount() {
return (
<Route ... component={ Child } />
);
}
render() {
// the <Route> element is rendered here
}
}
单击 inside 的链接时<Parent>
,我想<Parent>
卸载并<Child>
在其中进行渲染<GrandParent>
,这是 React 新功能“门户”应该实现的。
从文档中,这应该如何实现:
ReactDOM.createPortal(componentToRender, elementToRenderInto);
// Hence in my case:
ReactDOM.createPortal(<Child />, document.getElementById('grand-parent'));
但我不确定如何/在哪里使用这段代码。<Child>
我尝试在旁边渲染的所有<Parent>
内容,这不是我想要的。非常欢迎有关该主题的提示/文档/示例