react-33-axios-async-ant-全局样式配置

简介: axios 目前依然是主流的 请求库ant是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品

1. 前言准备


axios 目前依然是主流的 请求库

ant是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品


2. axios简单配置


2.1 安装

顺带安装 了 antd-mobile 移动端的,现在移动端项目居多嘛 5x版本


npm install --save antd-mobile


"antd-mobile": "^5.7.1",

"axios": "^0.26.1",

2.2  基础配置

目录  src/axios/index.js

  1. 引入 axios antd-mobile
  2. baseURL 配置
  3. 请求拦截 配置
  4. 响应拦截 配置
  5. Promise


import axios from 'axios';
import { Toast} from 'antd-mobile';
// 全局的 axios 默认值
// `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。
// 它可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL
axios.defaults.baseURL = '你自己的服务器地址';
// axios.defaults.headers = {}
// axios.defaults.timeout = 3000
//   跨域请求的凭证  是否携带 cookie
axios.defaults.withCredentials = true
//***************  添加请求拦截器
axios.interceptors.request.use( (config)=> {
    // 在发送请求之前做些什么
    // console.log(config)
    Toast.show({
        icon: 'loading',
        content: "努力加载中...",
        duration: 5000,
    })
    return config;
}, function (error) {
    Toast.clear()
    // 对请求错误做些什么
    return Promise.reject(error);
});
// ************************添加响应拦截器
axios.interceptors.response.use( (response)=> {
    console.log("-----响应拦截-----",response)
    // 对响应数据做点什么
        Toast.clear()
    // ******************** 直接返回数据
    return response.data;
},  (error)=> {
    Toast.show({
        icon: 'fail',
        content: "服务器错误",
    })
    // 对响应错误做点什么
    return Promise.reject(error);
});



3. 挂载到 原型上



import  { Component } from "react";
Component.prototype.$axios = axios

因为类组件都是继承于 Component


4.  引入配置的axiosantd 样式


入口 index.js


import "./axios"
  1. 5x的 ant不需要单独在全局引入样式了
  2. 直接引入组件即可,antd-mobile 会自动为你加载 css 样式文件:


5. 扩展


通常网站上传和下载会有单独的接口

App.js里面配置


import { Component, PureComponent } from 'react';
Component.prototype.uploadBaseUrl = "上传地址";
PureComponent.prototype.downloadBaseUrl = "下载地址";
//
PureComponent.prototype.shopImgBaseUrl = "图片地址";



6.  界面使用


类组件的使用


this.$axios.get(`/v1/?type=${type}`)


函数式组件使用


import axios from 'axios'
axios.get(`/v1/?type=${type}`)

6.1 引入


import axios from "axios"


6.2  使用

可以直接在  componentDidMount钩子里面发送请求

判断n个请求都完成了

axios.all()


function getUserAccount() {
  return axios.get('/user/12345');
}
function getUserPermissions() {
  return axios.get('/user/12345/permissions');
}
 axios.all([getUserAccount, getUserPermissions]).then(res => {
//res 得到的是数组 
//是有顺序的
            console.log(res);
        })



7. 重置样式


7.1 目录配置

样式目录 src/assets/css/reset.css

图片目录  src/assets/img

工具函数目录 src/assets/js

7.2 全局引入

入口类引入 ---方式---1


import "./assets/css/reset.css"
import "./assets/js/resize"
import './index.scss';


样式文件 单独在 入口的index.css文件引入


@import "./assets/css/reset.css";



8. async await 用法



async  componentDidMount(){
   try{
        let res1 =   await  axios.get("/v1/use?type=1")
        console.log("res1---:",res1)
     } catch(error){
        console.log("-------",error)
     }




相关文章
|
2月前
|
编解码 前端开发 JavaScript
js react antd 实现页面低分变率和高分变率下字体大小自适用,主要是配置antd
在React中结合Ant Design与媒体查询,通过less变量和响应式断点动态调整`@font-size-base`,实现多分辨率下字体自适应,提升跨设备体验。
121 2
|
8月前
|
前端开发
如何在React Router中进行嵌套路由配置?
如何在React Router中进行嵌套路由配置?
442 57
|
8月前
|
编解码 前端开发 开发者
React 图片组件样式自定义:常见问题与解决方案
在 React 开发中,图片组件的样式自定义常因细节问题导致布局错乱、性能损耗或交互异常。本文系统梳理常见问题及解决方案,涵盖基础样式应用、响应式设计、加载状态与性能优化等,结合代码案例帮助开发者高效实现图片组件的样式控制。重点解决图片尺寸不匹配、边框阴影不一致、移动端显示模糊、加载失败处理及懒加载等问题,并总结易错点和最佳实践,助力开发者提升开发效率和用户体验。
275 22
|
8月前
|
Web App开发 移动开发 前端开发
React 视频播放器样式自定义实战指南
本文详细介绍了如何在React项目中实现视频播放器的样式自定义,涵盖HTML5 `<video>`标签的基础知识、CSS样式定制技巧及常见问题解决方案。针对全屏模式样式失效、移动端触摸事件冲突和进度条样式定制等问题提供了具体代码示例。同时,探讨了视频预加载策略和内存优化方法,并推荐了几款调试工具,帮助开发者提升用户体验和应用性能。
277 6
|
8月前
|
Web App开发 移动开发 前端开发
React音频播放器样式自定义全解析:从入门到避坑指南
在React中使用HTML5原生<audio>标签时,开发者常面临视觉一致性缺失、样式定制局限和交互体验割裂等问题。通过隐藏原生控件并构建自定义UI层,可以实现完全可控的播放器视觉风格,避免状态不同步等典型问题。结合事件监听、进度条拖拽、浏览器兼容性处理及性能优化技巧,可构建高性能、可维护的音频组件,满足跨平台需求。建议优先使用成熟音频库(如react-player),仅在深度定制需求时采用原生方案。
349 12
|
前端开发
react配置proxy代理的两种方式
本文介绍了在React项目中配置代理的两种方式:通过在package.json中添加代理配置,以及通过创建setupProxy.js文件来实现更复杂的代理规则。
688 2
|
设计模式 缓存 前端开发
React中样式解决方案有哪些?
本文首发于微信公众号“前端徐徐”,探讨了React开发中的样式管理方法,包括内联样式、常规CSS、CSS-Module、CSS-in-JS及使用CSS框架等五种常见方案,分析了各自的优缺点,帮助开发者根据项目需求选择合适的样式解决方案。
357 0
|
移动开发 前端开发 安全
React Native环境搭建及配置问题
React Native环境搭建及配置问题
328 2
|
前端开发 Java UED
JSF 面向组件开发究竟藏着何种奥秘?带你探寻可复用 UI 组件设计的神秘之路
【8月更文挑战第31天】在现代软件开发中,高效与可维护性至关重要。JavaServer Faces(JSF)框架通过其面向组件的开发模式,提供了构建复杂用户界面的强大工具,特别适用于设计可复用的 UI 组件。通过合理设计组件的功能与外观,可以显著提高开发效率并降低维护成本。本文以一个具体的 `MessageComponent` 示例展示了如何创建可复用的 JSF 组件,并介绍了如何在 JSF 页面中使用这些组件。结合其他技术如 PrimeFaces 和 Bootstrap,可以进一步丰富组件库,提升用户体验。
177 0