首页 > 其他分享 >React 全局Loading

React 全局Loading

时间:2023-05-27 20:33:22浏览次数:46  
标签:count Loading container private React SpinProps 全局 config

import {Spin} from 'antd'
import ReactDOM from 'react-dom/client'
import type {SpinProps} from 'antd'

class Loading {
  private container = document.createElement('div')
  private root = ReactDOM.createRoot(this.container)
  private count = 0
  private readonly config: SpinProps | undefined

  private setContainerStyle() {
    Object.assign(this.container.style, {
      position: 'fixed',
      inset: '0',
      display: 'flex',
      justifyContent: 'center',
      alignItems: 'center',
      backgroundColor: 'rgba(255, 255, 255, .1)'
    })
  }

  constructor(config?: SpinProps) {
    this.config = config
    this.setContainerStyle()
  }

  show(config?: SpinProps) {
    if (!this.count) {
      const props = config || this.config
      this.root.render(<Spin {...props}/>)
      document.body.appendChild(this.container)
    }
    this.count += 1;
  }

  hide() {
    this.count -= 1;
    if (this.count <= 0) {
      document.body.removeChild(this.container)
    }
  }
}

export default new Loading()

usage

  const handleLoading = () => {
    loading.show();
    setTimeout(() => {
      loading.hide()
    }, 1000)
  }

标签:count,Loading,container,private,React,SpinProps,全局,config
From: https://www.cnblogs.com/coderDemo/p/17437293.html

相关文章

  • drf——全局处理异常、接口文档、jwt介绍、based64编码与解码
    全局异常处理原理#对于前端来讲,后端即便报错,也要返回统一的格式,前端便于处理{code:999,msg:'系统异常,请联系系统管理员'}#只要三大认证,视图类的方法出了异常,都会执行一个函数: rest_framework.viewsimportexception_handler#drf只要出了异常就会执行这是drf的配置文件......
  • React18+TS+NestJS+GraphQL全栈开发示例
    React18+TS+NestJS+GraphQL全栈开发示例全栈开发是指一位开发人员可以熟练掌握前端、后端和数据库等多个领域的技术,能够完整地开发一个应用程序。在本文中,我们将介绍如何使用React18+TS+NestJS+GraphQL这个技术组合来进行全栈开发。技术选型在开始开发之前,我们需要选择合适的技术栈......
  • 【React工作记录六十八】ant design一个页面(新增编辑)
     目录前言导语总结前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷导语antdesign锚点组件编辑核......
  • 【React工作记录七十】判断数组对象中是否满足某条件
     目录前言导语 核心代码总结前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷导语歌谣歌谣数组......
  • 【React工作记录六十九】Taro中的轻提示
     目录前言导语代码部分运行结果代码部分运行结果前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷......
  • 在Directory.Build.props中用全局变量来管理包的版本号
    1、顶级目录下放置Directory.Build.props文件为每个软件产品,分配一块独立的windows盘符,在根目录下放置名为Directory.Build.props的文件即可。这个文件名是特定的,必须叫这个。如果公司有很多产品,引用的同一个包的版本可能是不同的,那么在磁盘根目录下就不要有Directory.Build.props......
  • 第一个react.js程序:create and show comment
    importReact,{Component}from"react";import{render}from"react-dom";importPropTypesfrom"prop-types";constnode=document.getElementById("root");constdata={post:{id:123,content:......
  • drf全局异常处理,接口文档,jwt介绍和原理,base64编码和解码
    drf全局异常处理:只要三大认证,视图类的方法出了异常,都会执行一个函数:rest_framework.viewsimportexception_handlersetting:REST_FRAMEWORK={'EXCEPTION_HANDLER':'app01.exception.commn_exception_handler',#导入自己写的异常类的路径}......
  • 全局异常处理,接口文档,JWT,base64编码解码
    1全局异常处理#对于前端来讲,后端即便报错,也要返回统一的格式,前端便于处理{code:999,msg:'系统异常,请联系系统管理员'}#只要三大认证,视图类的方法出了异常,都会执行一个函数:rest_framework.viewsimportexception_handler###注意:exception_handler#如果异常对象是......
  • drf之全局异常处理和 接口文档
    目录一、全局异常处理注意:exception_handler补充:新建一个exception文件放我们自己写的异常方法配置文件二、接口文档后端把接口写好后接口文档的编写形式使用coreapi自动生成接口文档(文件drf_09)一、全局异常处理对于前端来讲,后端即便报错,也要返回统一的格式,前端便于处理只......