一、什么是 axios

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

二、axios 的安装

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

npm isntall --save axios

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

import axios from 'axios';

三、axios 的使用

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

(1)初始化列表数据 list

constructor(props) {
super(props);
this.state = {
list: []
}
}

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

render() {
return (
<React.Fragment>
<Menu mode="horizontal">
{ this.getMenuItems() }
</Menu>
</React.Fragment>
)
}

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

(3)完善函数 getMenuItems()

getMenuItems() {
return this.state.list.map(item => {
return (
<Menu.Item key={item.id}>
<Icon type={item.icon} />{item.title}
</Menu.Item>
)
})
}

(4)通过 axios 请求数据

componentDidMount() {
axios.get('http://mock-api.com/Ln4LX4nx.mock/winniebloglistdata')
.then((res) => {
this.setState({
list: res.data.data
})
})
}

这里的数据由 mock-api 生成

源数据文件:

{
"success": true,
"data": [{
"id": ,
"icon": "align-left",
"title": "列表1"
}, {
"id": ,
"icon": "align-left",
"title": "列表2"
}, {
"id": ,
"icon": "align-left",
"title": "列表3"
}, {
"id": ,
"icon": "align-left",
"title": "列表4"
}, {
"id": ,
"icon": "align-left",
"title": "列表5"
}, {
"id": ,
"icon": "align-left",
"title": "列表6"
}]
}

运行效果:

更多 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] 313. Super Ugly Number 超级丑陋数

    Write a program to find the nth super ugly number. Super ugly numbers are positive numbers whose all ...

  2. Java高级面试题整理(附答案)

    这是我收集的10道高级Java面试问题列表.这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题.你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java ...

  3. Neo4j CQL基本使用

    Neo4j用CQL作为查询语言 CQL  Neo4j图形数据库的查询语言 是一种声明性模式匹配语言 遵循SQL语法 语法是非常简单且人性化.可读的格式 1.启动服务,打开浏览器 在数据浏览器中的美元提 ...

  4. odoo 上下文

    order = self.env[model].browse(id)if order: order.with_context(write_type='voucher_generation').writ ...

  5. 切换 Python2 Python3

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternati ...

  6. 【转帖】AMD Zen之父、Intel副总Jim Keller到底有多牛?

    AMD Zen之父.Intel副总Jim Keller到底有多牛? https://www.cnbeta.com/articles/tech/907295.htm 几乎玩过 所有的中国国产化CPU的祖 ...

  7. Fedora30 install VS Code

    We currently ship the stable 64-bit VS Code in a yum repository, the following script will install t ...

  8. 【Linux】一步一步学Linux——Bash常用快捷键(11)

    目录 00. 目录 01. 编辑命令 02. 搜索命令 03. 控制命令 04. 其它 05. 参考 00. 目录 @ 生活在 Bash Shell 中,熟记以下快捷键,将极大的提高你的命令行操作效率 ...

  9. ListModelSerializer模块

    ListModelSerializer模块 一 .自定义反序列化字段 # 一些只参与反序列化的字段,但是不是与数据库关联的 # 在序列化类中规定,并在校验字段时从校验的参数字典中剔除 class Pu ...

  10. Spring Cloud Alibaba学习笔记(24) - Spring Boot Actuator 监控数据可视化:Spring Boot Admin

    我们都知道,Spring Boot Actuator 提供监控数据是Json数据,在某种程度来说并不利于分析查看,那么如何将其进行可视化呢?我们有很多种选择,但是目前在这个领域,最流行的是Spring ...