【React】知识点归纳:react中使用axios获取后台服务器数据

26 篇文章 1 订阅

React-Ajax: react中使用axios获取后台服务器数据,所有的数据请求统一写到一个文档里面

  • react项目中获取数据的工具比较多,比如fetchaxios, 这2个应该是使用最多的。
  • 在练习的时候遇到一个问题:就是将所有的数据请求统一写到一个文档里面,比如get-api.js
  • 目的就是后期的维护,方便修改。但是axios 获取到的数据是无法return出去的
    所以我的实现方案是这样的:

首先把整个axios.get()传出去:

// get-api.js
import React,{Component} from 'react'
import axios from 'axios'
const host = 'http://localhost:3100/'

const getNewList=()=>{
    return axios.get(host+"selfJson/news.json")
        .then( (response)=> response.data.data)
        .catch(function (error) {
            console.log(error);
        })
}

export {getNewList};

其次:通过promise 获取参数

// 调用的页面 写个接收数据的函数,让其在生命周期的挂载后执行
state = {
    tableData:[]
}
componentDidMount() {
        this.getJsonData();
    }
    // 把参数绑定到  构造函数的state里面
getJsonData = () => {
        const _this=this;
        const data = getNewList();
        data.then(function (resout) {
            _this.setState({tableData:resout})
})

虽然这样实现复杂了,但是实现了统一管理api 的需求。

axios.get("http://localhost:3100/selfJson/news.json")
            .then(function (response) {
                let json = response.data.data;
                _this.setState({jsonData: json});
            })
            .catch(function (error) {
                console.log(error);
})

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值