React 中使用 axios(React)

一、下载

npm i axios
yarn add axios

二、创建 api 文件夹

在项目 src 目录中创建一个 api 目录,用来存放所有的请求接口。

三、创建请求模块文件

我们以获取商品分类数据为例。

在 api 目录中创建一个 categories.js 文件,该文件中用来设置所有关于商品分类的请求:

import axios from 'axios'

export const getCategoriesAsync = (params) => axios.get('/categroy/findCategroy', { 
    params: params 
});

export const addCategoriesAsync = data => axios.post('/categroy/addCategroy', data);

四、封装 axios

在项目 src 目录中创建一个 utils 目录,用来存放工具类的文件,我们将 axios 的封装文件 axios.js 也可以放在里面。

import axios from 'axios';

axios.defaults.baseURL = 'http://web.woniulab.com:8002';

// 响应拦截器
axios.interceptors.response.use(
    res => res.data,  // 拦截到响应对象,将响应对象的 data 属性返回给调用的地方
    err => Promise.reject(err)
)

最后在 index.js 中引入该文件:

import './utils/axios.js';

五、组件中调用 api 接口

例如在商品分类列表的组件中,我们要调用封装好的接口:

import { getCategoriesAsync } from '../../../api/categories';

export default class Categories extends Component {
    state = {
        data: []
    }
    componentDidMount() {
        this.getCategories();
    }
    getCategories = async () => {
        const res = await getCategoriesAsync({ parentId: 0 });
        if(res.code) {
            this.setState({
                data: res.data.data
            })
        }
    }
    // ...
}
  • 9
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值