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

资阳视频网站建设一个美工做网站好做吗

资阳视频网站建设,一个美工做网站好做吗,网站没有地图怎么做,一套vi设计多少钱前言今天在做 react 后台管理的时候要实现一个全局 Loading 效果#xff0c;通常使用 axios 库与后端进行数据交互。为了更好的用户体验#xff0c;在每次请求前添加一个加载效果#xff0c;让用户知道在等待加载。要实现这个功能#xff0c;我们可以在每个组件请求手动添加… 前言今天在做 react 后台管理的时候要实现一个全局 Loading 效果通常使用 axios 库与后端进行数据交互。为了更好的用户体验在每次请求前添加一个加载效果让用户知道在等待加载。要实现这个功能我们可以在每个组件请求手动添加加载效果返回后再将其隐藏但如果每个请求都这么做就要做多次重复设置显得很麻烦但好处是可以设置定制多种请求效果。但考虑到该项目场景为后台管理系统给管理员使用花样可以不用搞太多统一优雅即可故采取全局设置 loading 效果。开发版本react: ^16.13.1,antd: ^4.0.4,axios: ^0.19.2代码说明通过 axios 提供的请求拦截和响应拦截的接口控制 loading 的显示或者隐藏。在此我还设置了没有网络和网络超时的提示信息采用 antd 的 Spin 组件来实现 loading 效果message 组件来进行消息提示(antd.css 这里没有引入是因为我设置了按需加载)定义变量 requestCount 作为计数器确保同一时刻如果有多个请求的话不会同时添加多个 loading而是只有 1 个并在所有请求结束后才会隐藏 loading。默认所有请求都会自动有 loading 效果。如果某个请求不需要 loading 效果可以在请求 headers 中设置 isLoading 为 false。步骤在 src 目录下新建一个文件 axios.jsimport axios from axios;import React, { Component } from react;import ReactDOM from react-dom;import { message, Spin } from antd;const Axios  axios.create({    // baseURL: process.env.BASE_URL, // 设置请求的base url    timeout: 20000, // 设置超时时长})// 设置post请求头Axios.defaults.headers.post[Content-Type]  application/x-www-form-urlencoded;charsetUTF-8// 当前正在请求的数量let requestCount  0// 显示loadingfunction showLoading () {    if (requestCount  0) {        var dom  document.createElement(div)        dom.setAttribute(id, loading)        document.body.appendChild(dom)        ReactDOM.render(加载中... sizelarge/, dom)    }    requestCount}// 隐藏loadingfunction hideLoading () {    requestCount--if (requestCount  0) {        document.body.removeChild(document.getElementById(loading))    }}// 请求前拦截Axios.interceptors.request.use(config  {   // requestCount为0才创建loading, 避免重复创建if (config.headers.isLoading ! false) {        showLoading()    }return config}, err  {    // 判断当前请求是否设置了不显示Loadingif (err.config.headers.isLoading ! false) {        hideLoading()    }return Promise.reject(err)})// 返回后拦截Axios.interceptors.response.use(res  {    // 判断当前请求是否设置了不显示Loadingif (res.config.headers.isLoading ! false) {        hideLoading()    }return res}, err  {if (err.config.headers.isLoading ! false) {        hideLoading()    }if (err.message  Network Error) {        message.warning(网络连接异常)    }if (err.code  ECONNABORTED) {        message.warning(请求超时请重试)    }return Promise.reject(err)})// 把组件引入并定义成原型属性方便使用Component.prototype.$axios  Axiosexport default Axios添加 loading 样式在共用的 css 文件里#loading {  position: absolute;  top: 0;  left: 0;  right: 0;  bottom: 0;  background: rgba(0, 0, 0, 0.75);  display: flex;  align-items: center;  justify-content: center;  z-index: 9999;  font-size: 20px;}axios 请求// 1. 引入自定义axios文件路径// 2. 引入共用css文件(loading样式)// 3. 在react组件中正常写法请求url即可componentDidMount () {    axios({      url: /manage/statistic/base_count.do    }).then(res  {      this.setState(res.data)    })}不加 loading 效果这样写axios({  url: /manage/statistic/base_count.do,  headers: {    isLoading: false  }}).then(res  {  this.setState(res.data)})效果❝欢迎关注我掘金账号和Github技术博客掘金https://juejin.im/user/1257497033714477Githubhttps://github.com/Jacky-Summer觉得对你有帮助或有启发的话欢迎 star你的鼓励是我持续创作的动力~如需在微信公众号平台转载请联系作者授权同意其它途径转载请在文章开头注明作者和文章出处。❞
http://www.pierceye.com/news/982026/

相关文章:

  • 怎样用dede搭建网站域名网址
  • 做网站编辑有前途怎么样才算是一个网站页面
  • 建设鲜花网站前的市场分析网店设计理念
  • 网站建设优化服务公司wordpress非代码方式添加备案号
  • asp网站安装到空间教育网站平面设计
  • 快速设计一个网站网站h标签
  • 怎么做百度联盟网站前端面试题
  • 电子商务网站建设的基本要求wordpress提问
  • 论坛网站制作费用wordpress如何调用html代码
  • 打码兔怎么和网站做接口重庆网站建设找承越
  • 做海报的网站什么编辑器微楼书网站建设
  • 免费建站的网站能做影视网站吗深圳网站建设素材网站
  • 网页中网站设计规划流程wordpress主题
  • 贵阳百度做网站电话培训学校
  • 网站关键词推广哪家好深圳方维网络科技有限公司
  • 美工需要的网站阿里云wordpress托管
  • 医疗行业网站建设怎样在网上建立平台
  • 潍坊网站建设网超之梦做的网站后台修改栏目描述
  • 广西建设厅官网证件查询网站优化对企业有什么好处
  • 哪个网站做外贸的多济南建设信息网官网
  • 制作网站能挣钱企业宣传片策划公司
  • 临沂网站建设模板wordpress添加导航页面
  • 有关wordpress教学的网站商标注册号
  • 常用搜索网站浙江立鹏建设有限公司网站
  • 天津做网站优化的公司番禺商城网站建设
  • 网站建设大熊猫点搜营销型网站头部布局的元素
  • wordpress 网站死机淄博专业网站建设价格
  • 网站建设 招标书慈溪机械加工网
  • dede网站怎么做404页面做网站的市场有那么大吗
  • 自己做下载类网站家在深圳网页版