React使用axios请求并渲染数据
一、什么是 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请求并渲染数据的更多相关文章
- vue中Axios请求豆瓣API数据并展示到Swipe中
vue中Axios请求豆瓣API数据并展示到Swipe中 1.首先是安装Axios: 安装方法cnpm install axios --save 等待npm安装完毕: 2.在main.js中引入axi ...
- 【React自制全家桶】七、React实现ajax请求以及本地数据mock
一.下载axios插件 yarn add axios 二.React的ajax请求代码如何放置 建议放置在生命周期函数之componentDidMount()中 三.ajax之get请求 axios. ...
- ajax和axios请求本地json数据对比
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进 ...
- VUE 使用axios请求第三方接口数据跨域问题解决
VUE是基于node.js,所以解决跨域问题,设置一下反向代理即可. 我这里要调用的第三方接口地址为 http://v.juhe.cn/toutiao/index?type=top&key=1 ...
- react中跨域请求天气预报接口数据
背景故事:同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能, 如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之上 ...
- Vue中如何使用axios请求跨域数据
1.axios不支持jsonp,因为axios的作者觉得jsonp不太友好,推荐用CORS方式更为干净: 2.在使用axios发送请求时,服务器端设置 res.header("Access- ...
- 21 Flutter仿京东商城项目 商品详情 请求接口渲染数据 商品属性数据渲染
加群452892873 下载对应21可文件,运行方法,建好项目,直接替换lib目录,在往pubspec.yaml添加上一下扩展. cupertino_icons: ^0.1.2 flutter ...
- angular,vue,react的基本语法—插值表达式,渲染数据,响应式数据
基本语法: 1.插值表达式: vue:{{}} react:{} angular:{{}} 2.渲染数据 vue js: export default{ data(){ return{ msg:&qu ...
- drf框架 - 请求模块 | 渲染模块
Postman接口工具 官方 https://www.getpostman.com/ get请求,携带参数采用Paramspost等请求,提交数据包可以采用三种方式:form-date.urlenc ...
随机推荐
- [LeetCode] 723. Candy Crush 糖果粉碎
This question is about implementing a basic elimination algorithm for Candy Crush. Given a 2D intege ...
- [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 ...
- Java之安装JDK
因为Java程序必须运行在JVM只是,所以我们第一件事情就是安装JDK 从Oracle官网下载最新稳定版JDK 一,Linux系统CentOS安装JDK 下载rpm安装包 安装 rpm -ivh jd ...
- 【Python学习之四】集合类型
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.字符串:字符串实际上就是字符的数组1.切片是指 ...
- jquery trigger使用方法
jquery trigger使用方法比方说写了下面点击事件 采用trigger 要触发他<pre> $('.biaoqian_ula').on('click',function () { ...
- 【LeetCode】两数之和【优化查询过程即可】
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元 ...
- [转帖]keepalived工作原理和配置、使用
keepalived工作原理和配置.使用 https://www.iteye.com/blog/aoyouzi-2288124 keepalived是什么 keepalived是集群管理中保证集群高可 ...
- MySQL必知必会1
MySQL必知必会 了解SQL 什么是数据库:数据库(database)保存有阻止的数据的容器,可以把数据库想象成一个文件柜. 什么是表:表(table) 某种特定类型结构的结构化清单,数据库中的 ...
- 【C++札记】多态
C++中多态是面向对象设计思想的重要特性,同名具有不同功能函数,该函数调用过程执行不同的功能.多态的原理是通过一张虚函数表(Virtual Table)实现的.动多态会牺牲一些空间和效率来最终实现动态 ...
- Linux07 查找文件(find、locate)
一.一般查找:find find PATH -name FILENAME 我们也可是使用 ‘*’ 通配符来模糊匹配要查找的文件名 二.数据库查找:locate locate FILENAME ...