适用场景
在React开发过程中,会遇到弹窗、全局组件等开发的情况,这时候我们可能根据不同的需求需要把组件渲染至指定页面,通过会把组件渲染到body节点下。我们可以使用ReactDOM的createPortal方法完成这一需求。
ReactDOM.createPortal
先来看下react-dom库里面关于createPortal的源码
createPortal函数主要有三个参数,分别是children(需要渲染的组件)、container(需要渲染到的指定节点)、key。开发中我们主要关注children和container即可。
Usage
支持createPortal方法的版本
getContainer示例
Portal组件示例
react-dom版本较低不支持createPortal时
虽然低版本也有不同的解决方案,但是尽量还是升级选择使用ReactDOM.createPortal
Author: Liquorxm
Created: Jul 30, 2020 6:09 PM
Tags: FrontEnd, React, ReactDOM, createPortal