切换主题
三、React.portal传送门
如果想设置一个自定义遮罩,遮罩里面有其他组件,这个使用应该把遮罩“传送”到根节点,不然会出现poistion、overflow等等问题
这个时候,portal就出现了
使用
在index,html文件的body标签添加一个id为backdrop-root的div
html<body> <div id="root"></div> <div id="backdrop-root"></div> </body>
在自定义遮罩组件中,引入ReactDOM
jsimport ReactDOM from "react-dom";
通过DOM操作获取id为backdrop-root的节点
jsconst backdropRoot=documentElementById("backgrop-root")
包装return里的jsx元素
js//创建传送门,并指定传送节点 return ReactDOM.createPortal( <div>待渲染的html代码</div> ,backdropRoot)