一、什么是 axios

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中

二、axios 的安装

1、在项目根目录终端引入:

  1. npm isntall --save axios

2、在使用 axios 的 js 文件中加入:

  1. import axios from 'axios';

三、axios 的使用

这里引用 mock-api 生成的数据,结合Ant Design 组件库做一个导航列表

(1)初始化列表数据 list

  1. constructor(props) {
  2. super(props);
  3. this.state = {
  4. list: []
  5. }
  6. }

(2)创建 Menu 组件传入生成列表 Menu.Item 的函数 getMenuItems()

  1. render() {
  2. return (
  3. <React.Fragment>
  4. <Menu mode="horizontal">
  5. { this.getMenuItems() }
  6. </Menu>
  7. </React.Fragment>
  8. )
  9. }

这里的 Menu 为 Ant Design 组件库中的导航菜单组件

(3)完善函数 getMenuItems()

  1. getMenuItems() {
  2. return this.state.list.map(item => {
  3. return (
  4. <Menu.Item key={item.id}>
  5. <Icon type={item.icon} />{item.title}
  6. </Menu.Item>
  7. )
  8. })
  9. }

(4)通过 axios 请求数据

  1. componentDidMount() {
  2. axios.get('http://mock-api.com/Ln4LX4nx.mock/winniebloglistdata')
  3. .then((res) => {
  4. this.setState({
  5. list: res.data.data
  6. })
  7. })
  8. }

这里的数据由 mock-api 生成

源数据文件:

  1. {
  2. "success": true,
  3. "data": [{
  4. "id": ,
  5. "icon": "align-left",
  6. "title": "列表1"
  7. }, {
  8. "id": ,
  9. "icon": "align-left",
  10. "title": "列表2"
  11. }, {
  12. "id": ,
  13. "icon": "align-left",
  14. "title": "列表3"
  15. }, {
  16. "id": ,
  17. "icon": "align-left",
  18. "title": "列表4"
  19. }, {
  20. "id": ,
  21. "icon": "align-left",
  22. "title": "列表5"
  23. }, {
  24. "id": ,
  25. "icon": "align-left",
  26. "title": "列表6"
  27. }]
  28. }

运行效果:

更多 axios 使用请参考 http://www.axios-js.com/zh-cn/docs/

React使用axios请求并渲染数据的更多相关文章

  1. vue中Axios请求豆瓣API数据并展示到Swipe中

    vue中Axios请求豆瓣API数据并展示到Swipe中 1.首先是安装Axios: 安装方法cnpm install axios --save 等待npm安装完毕: 2.在main.js中引入axi ...

  2. 【React自制全家桶】七、React实现ajax请求以及本地数据mock

    一.下载axios插件 yarn add axios 二.React的ajax请求代码如何放置 建议放置在生命周期函数之componentDidMount()中 三.ajax之get请求 axios. ...

  3. ajax和axios请求本地json数据对比

    AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进 ...

  4. VUE 使用axios请求第三方接口数据跨域问题解决

    VUE是基于node.js,所以解决跨域问题,设置一下反向代理即可. 我这里要调用的第三方接口地址为 http://v.juhe.cn/toutiao/index?type=top&key=1 ...

  5. react中跨域请求天气预报接口数据

    背景故事:同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能, 如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之上 ...

  6. Vue中如何使用axios请求跨域数据

    1.axios不支持jsonp,因为axios的作者觉得jsonp不太友好,推荐用CORS方式更为干净: 2.在使用axios发送请求时,服务器端设置 res.header("Access- ...

  7. 21 Flutter仿京东商城项目 商品详情 请求接口渲染数据 商品属性数据渲染

    加群452892873 下载对应21可文件,运行方法,建好项目,直接替换lib目录,在往pubspec.yaml添加上一下扩展.   cupertino_icons: ^0.1.2   flutter ...

  8. angular,vue,react的基本语法—插值表达式,渲染数据,响应式数据

    基本语法: 1.插值表达式: vue:{{}} react:{} angular:{{}} 2.渲染数据 vue js: export default{ data(){ return{ msg:&qu ...

  9. drf框架 - 请求模块 | 渲染模块

    Postman接口工具 官方 https://www.getpostman.com/ get请求,携带参数采用Params​post等请求,提交数据包可以采用三种方式:form-date.urlenc ...

随机推荐

  1. [LeetCode] 723. Candy Crush 糖果粉碎

    This question is about implementing a basic elimination algorithm for Candy Crush. Given a 2D intege ...

  2. [LeetCode] 803. Bricks Falling When Hit 打击砖块掉落

    We have a grid of 1s and 0s; the 1s in a cell represent bricks.  A brick will not drop if and only i ...

  3. Java之安装JDK

    因为Java程序必须运行在JVM只是,所以我们第一件事情就是安装JDK 从Oracle官网下载最新稳定版JDK 一,Linux系统CentOS安装JDK 下载rpm安装包 安装 rpm -ivh jd ...

  4. 【Python学习之四】集合类型

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.字符串:字符串实际上就是字符的数组1.切片是指 ...

  5. jquery trigger使用方法

    jquery trigger使用方法比方说写了下面点击事件 采用trigger 要触发他<pre> $('.biaoqian_ula').on('click',function () { ...

  6. 【LeetCode】两数之和【优化查询过程即可】

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元 ...

  7. [转帖]keepalived工作原理和配置、使用

    keepalived工作原理和配置.使用 https://www.iteye.com/blog/aoyouzi-2288124 keepalived是什么 keepalived是集群管理中保证集群高可 ...

  8. MySQL必知必会1

    MySQL必知必会 ​ 了解SQL 什么是数据库:数据库(database)保存有阻止的数据的容器,可以把数据库想象成一个文件柜. 什么是表:表(table) 某种特定类型结构的结构化清单,数据库中的 ...

  9. 【C++札记】多态

    C++中多态是面向对象设计思想的重要特性,同名具有不同功能函数,该函数调用过程执行不同的功能.多态的原理是通过一张虚函数表(Virtual Table)实现的.动多态会牺牲一些空间和效率来最终实现动态 ...

  10. Linux07 查找文件(find、locate)

    一.一般查找:find find  PATH  -name  FILENAME 我们也可是使用 ‘*’ 通配符来模糊匹配要查找的文件名 二.数据库查找:locate locate  FILENAME ...