React Portals

190 阅读1分钟

Portals是什么

Portals 是 React DOM 给我们提供的一个 API, 基于 Portals 我们可以使组件脱离父组件容器,挂载到 DOM 树的任意位置。 普通情况下,我们是能将组件构建的视图,挂载到父组件中.

   function child(){
       return <div>child</div>
   }
   
   function App(){
       return <div><Child /></div>
   }

但是使用了 Portals API 之后,我们再来看一下

   function child(){
       return ReactDom.creatPortal(
           <div>child</div>
           document.body
       )
   }
   
   function App(){
       return <div><Child /></div>
   }

使用场景

比如父组件因为有overflow或定位层级问题,会导致子组件被遮挡.使用Protals可以将组件挂载到body上