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

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.xdnf.cn/news/15382.html

相关文章:

  • blender uv小技巧
  • C++实现二叉树左右子树交换算法
  • JavaSE重点知识
  • 【Spring AOP】什么是AOP?切点、连接点、通知和切面
  • 从0到1搭建个人技术博客:用GitHub Pages+Hexo实现
  • STM32中的RTC(实时时钟)详解
  • 客户资源被挖?营销方案泄露?企业经营信息保护避坑指南
  • YOLOv8
  • Win11怎样进入WinRE恢复环境
  • 介绍几个电机驱动芯片(TC1508S、DRV8848)
  • TensorBoard
  • 【QT】多线程相关教程
  • 【面试八股文】2025最新软件测试面试
  • 股票的k线
  • React useState原理解密:从源码到实战
  • 苍穹外卖-day06
  • JavaScript代码段注入:动态抓取DOM元素的原理与实践
  • 巅峰对决:文心4.5 vs DeepSeek R1 vs 通义Qwen3.0——国产大模型技术路线与场景能力深度横评
  • Python-魔术方法-创建、初始化与销毁-hash-bool-可视化-运算符重载-容器和大小-可调用对象-上下文管理-反射-描述器-二分-学习笔记
  • 代码训练LeetCode(46)旋转图像
  • Java应用全链路故障排查实战指南:从系统资源到JVM深度诊断
  • 基于定制开发开源AI智能名片S2B2C商城小程序的社群游戏定制策略研究
  • 不止于监控:深入剖析OpenTelemetry的可观察性生态体系
  • 江协科技STM32入门教程——通信接口
  • Web安全-Linux基础-02-系统基础命令
  • QCustomPlot绘制交互图
  • VUE3 el-table 主子表 显示
  • 【极客日常】后端任务动态注入执行策略的一种技术实现
  • 解决bash终端的路径名称乱码问题
  • Spring之【写一个简单的IOC容器EasySpring】