React 引入axios

1.进入项目,安装axios

npm install axios

2.对axios二次封装

/model/axios.js

import Axios from 'axios';
import qs from 'qs';
const axios = Axios.create();
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
axios.interceptors.request.use((config) => {

    if (config.method === 'post') {
        config.data = qs.stringify(config.data);
    }

    return config;
});
// Add a response interceptor
axios.interceptors.response.use(
    (response) => {
        // Do something with response data
        let data = response.data;
        response.data = data.data;

        return response;
    },
    (error) => {
        // Do something with response error
        return Promise.reject(error);
    }
);
export default axios;

3.页面引入axios.js,请求数据

import React, { Component } from 'react';
import axios from '../model/axios';

class Axios extends Component {
    constructor(props){
        super(props);
        this.state = {
            list: []
        }
    }
    getData = () => {
        axios.get('https://www.easy-mock.com/mock/5b4eb12d56c59c6f56266215/api/order_list')
        .then((response) => {
            this.setState({
                list: response.data
            })
        })
        .catch(function (error) {
            console.log(error);
        });
    }
    render(){
        return (
            <div>
                <button onClick={this.getData}>获取axios数据</button>
                {
                    this.state.list.map((item,key) => {
                        return (
                            <li key={key}>
                                {item.title}
                            </li>
                        )
                    })
                }
            </div>
        )
    }
}
export default Axios;

END----------

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,688评论 4 61
  • 如果需要在HTML页面中插入js,js必须位于 标签之间。js可以放在HTML页面的 和 中,或同时存在于两个部...
    山的那边海的那边有太阳阅读 359评论 0 0
  • 翻着以前在推塔里面写的字,不是很励志,甚至有些颓废,找不到理由的颓废。永远做不到理性的面对现实,还总是活在给自己建...
    Hebetow阅读 396评论 0 0
  • 2018年7月12日360落地实修第4天 本月9日我从泰安乘飞机回家,以为是儿子来接我,出了机场见到的是我家先生,...
    丁调调阅读 232评论 0 0

友情链接更多精彩内容