当前位置: 首页 > 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.lryc.cn/news/586344.html

相关文章:

  • React useState原理解密:从源码到实战
  • python的婚纱影楼管理系统
  • 【深度学习】常见评估指标Params、FLOPs、MACs
  • 单向链表反转 如何实现
  • 电子电气架构 --- ECU存储与计算资源冗余设计规范
  • 深入详解:决策树在医学影像脑部疾病诊断中的应用与实现
  • 使用ESM3蛋白质语言模型进行快速大规模结构预测
  • Syntax Error: TypeError: Cannot set properties of undefined (setting ‘parent‘)
  • SSM项目上传文件的方式及代码
  • AI图像修复工具CodeFormer实测:马赛克去除与画质增强效果评测
  • 基于随机森林的金融时间序列预测系统:从数据处理到实时预测的完整流水线
  • 从零到一:企业如何组建安全团队
  • 系统引导修复
  • C#调用Matlab生成的DLL
  • S7-200 SMART PLC:硬件、原理及接线特点全解析
  • QWidget的属性
  • monorepo 发布库 --- 打包文件
  • Gameplay - 独立游戏Celeste的Player源码
  • 程序在计算机中如何运行?——写给编程初学者的指南
  • [ABC267F] Exactly K Steps
  • Go语言高并发聊天室(二):WebSocket服务器实现
  • 【中文大模型开源平台】魔塔社区基本使用
  • 【Java入门到精通】(三)Java基础语法(下)
  • 事件驱动设计:Spring监听器如何像咖啡师一样优雅处理高并发
  • shiro550反序列化漏洞复现(附带docker源)
  • 电脑上如何查看WiFi密码
  • 游戏开发日记7.12
  • 前端开发中的资源缓存详解
  • python-while循环
  • 从0到1搭建个人技术博客:用GitHub Pages+Hexo实现