当前位置: 首页 > news >正文

React - createPortal

什么是createPortal?

注意这是一个API,不是组件,他的作用是:将一个组件渲染到DOM的任意位置,跟Vue的Teleport组件类似。

用法 

import { createPortal } from 'react-dom';const App = () => {return createPortal(<div>前端s</div>, document.body);
};export default App;

参数

  • children:要渲染的组件
  • domNode:要渲染到的DOM位置
  • key?:可选,用于唯一标识要渲染的组件

 返回值

  • 返回一个React元素(即jsx),这个元素可以被React渲染到DOM的任意位置

应用场景

  • 弹窗
  • 下拉框
  • 全局提示
  • 全局遮罩
  • 全局Loading

 例如 Antd 的 Modal 组件,就是挂载到 body 上的。

 

 案例

 全局loading

src/components/Loadingl/index.tsx


import './index.css'const Loading: React.FC = () => {return <div className="loading">lodaing...</div>;
};export default Loading;

使用createPortal 挂载到body


import { createPortal } from 'react-dom'const Loading = () => {return createPortal(<div className='loading'>loading...</div>,document.body);
}export default Loading;

 createPortal更灵活,可以挂载到任意位置

http://www.dtcms.com/a/275663.html

相关文章:

  • React useState原理解密:从源码到实战
  • Java 泛型 (Generics)
  • bp使用爆破模块破解pikachu的登陆密码
  • 第34次CCF-CSP认证第4题,货物调度
  • 分析与展望
  • 不止于监控:深入剖析OpenTelemetry的可观察性生态体系
  • 使用FastAdmin框架开发
  • 亚矩阵云手机:重构物流供应链,让跨境包裹“飞”得更快更准
  • 【华为OD】MVP争夺战(C++、Java、Python)
  • 聊一聊Spring框架接口测试常见场景有哪些?
  • Python ExcelWriter详解:从基础到高级的完整指南
  • Android 系统Framework如何默认打开ADB连接
  • STP生成树划分实验
  • ms复现永恒之蓝
  • 使用ESM3蛋白质语言模型进行快速大规模结构预测
  • 学习秒杀系统-登录功能(明文密码两次MD5,JSR303参数校验,分布式session)
  • Vue 项目打包部署还存在问题?你知道怎么做吧?
  • 鸿蒙系统防黑秘籍:如何彻底防止恶意应用窃取用户数据?
  • java进阶(一)+学习笔记
  • STM32之LVGL移植
  • 详解缓存淘汰策略:LRU
  • python-enumrate函数
  • NO.3数据结构栈和队列|顺序栈|共享栈|链栈|顺序队|循环队列|链队|双端队列|括号匹配|中缀表达式转后缀|后缀表达式求值
  • JavaScript代码段注入:动态抓取DOM元素的原理与实践
  • GitHub 操作指南:项目协作与自动化工作流实践
  • 【第五节】部署http接口到ubuntu server上的docker内
  • 开源 Arkts 鸿蒙应用 开发(七)数据持久--sqlite关系数据库
  • OSPFv3-一二类LSA
  • 创建 UIKit 项目教程
  • 前端开发中的输出问题