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)
     }




相关文章
|
7月前
create-react-app配置环境变量
create-react-app配置环境变量
162 0
|
3月前
|
前端开发
react配置proxy代理的两种方式
本文介绍了在React项目中配置代理的两种方式:通过在package.json中添加代理配置,以及通过创建setupProxy.js文件来实现更复杂的代理规则。
128 2
|
2月前
|
设计模式 缓存 前端开发
React中样式解决方案有哪些?
本文首发于微信公众号“前端徐徐”,探讨了React开发中的样式管理方法,包括内联样式、常规CSS、CSS-Module、CSS-in-JS及使用CSS框架等五种常见方案,分析了各自的优缺点,帮助开发者根据项目需求选择合适的样式解决方案。
51 0
|
4月前
|
存储 监控 前端开发
|
4月前
|
移动开发 前端开发 安全
React Native环境搭建及配置问题
React Native环境搭建及配置问题
91 2
|
4月前
|
前端开发 Java UED
JSF 面向组件开发究竟藏着何种奥秘?带你探寻可复用 UI 组件设计的神秘之路
【8月更文挑战第31天】在现代软件开发中,高效与可维护性至关重要。JavaServer Faces(JSF)框架通过其面向组件的开发模式,提供了构建复杂用户界面的强大工具,特别适用于设计可复用的 UI 组件。通过合理设计组件的功能与外观,可以显著提高开发效率并降低维护成本。本文以一个具体的 `MessageComponent` 示例展示了如何创建可复用的 JSF 组件,并介绍了如何在 JSF 页面中使用这些组件。结合其他技术如 PrimeFaces 和 Bootstrap,可以进一步丰富组件库,提升用户体验。
56 0
|
4月前
|
前端开发 JavaScript 开发者
【前端革新力】React与CSS-in-JS完美邂逅:从styled-components到emotion,全面解析样式管理新趋势的实战应用与优势剖析!
【8月更文挑战第31天】CSS-in-JS 作为一种新兴的样式管理方式,近年来在前端社区受到广泛关注。它将样式嵌入 JavaScript,实现了样式与逻辑的高度耦合,提升了开发效率并解决了全局样式污染等问题。本文通过具体代码示例,探讨 CSS-in-JS 在 React 开发中的应用,并分享实践心得。首先介绍了 CSS-in-JS 的基本概念,然后详细展示了如何使用 styled-components 和 emotion 这两个流行库创建样式化组件。
200 0
|
6月前
|
前端开发 JavaScript API
技术经验分享:axios的全局配置baseUrl
技术经验分享:axios的全局配置baseUrl
287 3
|
5月前
|
Web App开发 JavaScript 前端开发
react18【系列实用教程】搭建开发环境(2024版)Vite+React (官方推荐)(含@配置,react-developer-tools 和 Redux DevTools 下载安装)
react18【系列实用教程】搭建开发环境(2024版)Vite+React (官方推荐)(含@配置,react-developer-tools 和 Redux DevTools 下载安装)
307 1