导入
简介
让我们来看一下如何在组件层级结构之外渲染一个元素。
什么是 Portal?
Portal 允许我们将组件渲染到当前组件层级父节点之外的 DOM 节点中,同时仍然能够访问当前组件的环境。
一个典型的例子是将模态遮罩层(overlay)渲染到位于应用程序主结构之外的一个独立 <div> 中。
尽管如此,该 Portal 仍处于创建它的组件的上下文中,因此可以访问父组件的所有数据,例如其 props 和 state。
然而,在最终生成的 HTML 中,它们的位置与应用其余部分完全分离。能够访问 props 和 state 对于 Portal 至关重要,因为这使我们能够使用诸如国际化翻译等共享上下文。