React 之使用 antd 实现全局 loading
使用 antd 的 Spin 实现 Loading
代码如下:
fullLoading.tsx
import ReactDOM from "react-dom/client";
import { Spin } from "antd";
// 全局加载 loading
// 当前请求的个数
// 当同时有多个请求时,等所有请求完成后再关闭 loading
let reqCount = 0;
// 显示 loading
function show() {
if (reqCount === 0) {
const dom = document.createElement("div");
dom.id = "loading";
dom.style.position = "fixed";
dom.style.top = "0";
dom.style.right = "0";
dom.style.bottom = "0";
dom.style.left = "0";
dom.style.background = "rgba(0, 0, 0, 0.5)";
dom.style.display = "flex";
dom.style.justifyContent = "center";
dom.style.alignItems = "center";
dom.style.zIndex = "9999";
document.body.appendChild(dom);
ReactDOM.createRoot(dom).render(<Spin size="large"></Spin>);
}
reqCount++;
}
// 隐藏 loading
function hide() {
reqCount--;
if (reqCount === 0) {
const dom = document.getElementById("loading");
if (dom) {
document.body.removeChild(dom as HTMLElement);
}
}
}
const fullLoading = {
show,
hide,
};
export default fullLoading;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】