React+Axios调用api并且渲染在前端界面

简介: React+Axios调用api并且渲染在前端界面
import React  from 'react';
import axios from 'axios'
class Axios extends React.Component {
    //构造函数
    constructor() {
        super();
        //react定义数据
        this.state = {
        list:[]
        }
    }
    //请求接口的方法
    getData=()=>{
    //var  api='https://www.apiopen.top/weatherApi?city=%E4%B8%8A%E6%B5%B7';
    var  api='http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20';
        axios.get(api)
  .then((response) =>{
    // handle success
    console.log(response.data.result);
    //用到this需要注意指向,箭头函数
    this.setState({
list:response.data.result
    })
  })
  .catch(function (error) {
    // handle error
    console.log(error);
  });
    }
    render() {
        return (
        <div> 
        <h2>axios获取数据</h2>
        <button onClick={this.getData}>获取api接口</button>
<ul>
    {
        this.state.list.map((value,key)=>{
          return<li  key={key}>{value.title}</li>
        })
    }
</ul>
        </div>
        )
    }
}
export default Axios;

因为这个免费的接口可能过段时间就会挂掉,所以把接口的数据直接复制在这里了,后面就算挂掉了也可以自己做成mock数据哦


数据的json格式:

{
    "result": [
        {
            "aid": "499",
            "catid": "20",
            "username": "admin",
            "title": "\u3010\u56fd\u5185\u9996\u5bb6\u3011\u5fae\u4fe1\u5c0f\u7a0b\u5e8f\u89c6\u9891\u6559\u7a0b\u514d\u8d39\u4e0b\u8f7d",
            "pic": "portal\/201610\/13\/211832yvlbybpl3rologrr.jpg",
            "dateline": "1476364740"
        },
        {
            "aid": "498",
            "catid": "20",
            "username": "admin",
            "title": "ionic\u57df\u8d44\u6e90\u5171\u4eab CORS \u8be6\u89e3",
            "pic": "",
            "dateline": "1472952906"
        },
        {
            "aid": "497",
            "catid": "20",
            "username": "admin",
            "title": "\u79fb\u52a8\u7aef\u89e6\u6478\u6ed1\u52a8js\u63d2\u4ef6_html5\u624b\u673a\u7aef\u8f6e\u64ad\u63d2\u4ef6",
            "pic": "portal\/201606\/28\/211604ullzo5arr4iurnum.jpg",
            "dateline": "1467119820"
        },
        {
            "aid": "496",
            "catid": "20",
            "username": "admin",
            "title": "\u672a\u6765\u7a0b\u5e8f\u5458\u4f1a\u88ab\u673a\u5668\u4eba\u53d6\u4ee3\u5417\uff1f",
            "pic": "portal\/201606\/02\/221818eafffffm4srfdf4s.jpg",
            "dateline": "1464874140"
        },
        {
            "aid": "495",
            "catid": "20",
            "username": "admin",
            "title": "\u9524\u5b50\u5b89\u5168\u9524_\u9524\u5b50\u771f\u7684\u51fa\u4e86\u4e2a\u201c\u9524\u5b50\u201d\uff1a\u8f66\u5145\uff0b\u5b89\u5168\u9524",
            "pic": "portal\/201605\/20\/213752f6i56f1e0hbfzhkb.jpg",
            "dateline": "1463751505"
        },
        {
            "aid": "494",
            "catid": "20",
            "username": "admin",
            "title": "html5\u80fd\u505a\u4ec0\u4e48_html5\u80fd\u505a\u54ea\u4e9b\u5f00\u53d1\uff1f",
            "pic": "",
            "dateline": "1463664540"
        },
        {
            "aid": "493",
            "catid": "20",
            "username": "admin",
            "title": "\u5e73\u5b89\u53e3\u888b\u94f6\u884cApp\u91c7\u7528-Cordova\u6df7\u5408\u5f00\u53d1",
            "pic": "",
            "dateline": "1463294580"
        },
        {
            "aid": "492",
            "catid": "20",
            "username": "admin",
            "title": "JavaScript Emoji \u8868\u60c5\u5e93_js \u7c7b\u4f3c\u4e8eqq\u5fae\u4fe1\u7684\u8868\u60c5\u5e93",
            "pic": "portal\/201604\/25\/084907r2e3im3dvd1q3f7z.jpg",
            "dateline": "1461545392"
        },
        {
            "aid": "491",
            "catid": "20",
            "username": "admin",
            "title": "cordova\u70ed\u66f4\u65b0\u63d2\u4ef6-\u4e0d\u53d1\u5e03\u5e94\u7528\u5e02\u573a\u52a8\u6001\u66f4\u65b0APP\u6e90\u7801",
            "pic": "portal\/201604\/12\/152638zaxz5xz3t58bfts2.png",
            "dateline": "1460446140"
        },
        {
            "aid": "490",
            "catid": "20",
            "username": "admin",
            "title": "\u592e\u884c\u65b0\u89c4\uff01\u652f\u4ed8\u5b9d\u3001\u5fae\u4fe1\u7528\u6237\u522b\u5fd8\u505a\u8fd9\u4ef6\u4e8b",
            "pic": "portal\/201603\/29\/144942tcnnenueefagukfk.jpg",
            "dateline": "1459234206"
        },
        {
            "aid": "471",
            "catid": "20",
            "username": "admin",
            "title": "HTML5 \u79fb\u52a8app\u5f00\u53d1\u6846\u67b6\u8be5\u5982\u4f55\u9009\u62e9",
            "pic": "portal\/201511\/15\/163112q4kz6k2rgcgpi1tc.jpg",
            "dateline": "1457771160"
        },
        {
            "aid": "488",
            "catid": "20",
            "username": "admin",
            "title": "\u7eafCSS3\u52a8\u753b\u6309\u94ae\u6548\u679c,\u53ef\u7528\u4e8e\u79fb\u52a8wap app\u5f00\u53d1",
            "pic": "portal\/201603\/09\/202742r1kngyt17na7n1nk.jpg",
            "dateline": "1457526780"
        },
        {
            "aid": "487",
            "catid": "20",
            "username": "admin",
            "title": "\u4eac\u4e1c\u6bcf\u5929\u4e8f\u4e0a\u4ebf_\u4e0d\u4f1a\u6284\u88ad\u3001\u527d\u7a83?\u5fc5\u5c06\u6b7b\u5728\u4e92\u8054\u7f51\u4e0b\u4e00\u7ad9\u7684\u8d77\u70b9\u4e0a! ...",
            "pic": "portal\/201603\/02\/155825h28zxs2vsxjccv4c.jpg",
            "dateline": "1456905746"
        },
        {
            "aid": "486",
            "catid": "20",
            "username": "admin",
            "title": "ionic react-native\u548cnative\u5f00\u53d1\u79fb\u52a8app\u90a3\u4e2a\u597d",
            "pic": "portal\/201602\/25\/193433dtzfvlzl1oavhljy.jpg",
            "dateline": "1456398960"
        },
        {
            "aid": "484",
            "catid": "20",
            "username": "admin",
            "title": "\u8fd912\u884c\u4ee3\u7801\u5206\u5206\u949f\u8ba9\u4f60\u7535\u8111\u5d29\u6e83\u624b\u673a\u91cd\u542f",
            "pic": "",
            "dateline": "1453426595"
        },
        {
            "aid": "483",
            "catid": "20",
            "username": "admin",
            "title": "\u7f57\u632f\u5b87\u7f57\u6c38\u6d69\u96f7\u519b\u4eec\u7684\u6f14\u8bb2 \u4f60\u559c\u6b22\u54ea\u4e00\u4e2a",
            "pic": "",
            "dateline": "1452226800"
        },
        {
            "aid": "482",
            "catid": "20",
            "username": "admin",
            "title": "ionic-native-transitions\u8ba9\u4f60\u7684Ionic\u5e94\u7528\u6bd4\u539f\u751f\u8fd8\u5feb",
            "pic": "portal\/201601\/07\/135529z4r7gwglv4rw8l74.jpeg",
            "dateline": "1452145500"
        },
        {
            "aid": "481",
            "catid": "20",
            "username": "admin",
            "title": "ionic 1.2.4 \u53d1\u5e03\uff0c\u6700\u597d\u7684html5\u79fb\u52a8app\u5f00\u53d1\u6846\u67b6",
            "pic": "portal\/201601\/05\/132107h9bllr7li74zoh49.jpg",
            "dateline": "1451971293"
        },
        {
            "aid": "480",
            "catid": "20",
            "username": "admin",
            "title": "phonegap\u53d1\u5e03\u5e94\u7528\u5230appstore",
            "pic": "portal\/201601\/05\/122115yhh22i77sqn2ijc6.jpg",
            "dateline": "1451967910"
        },
        {
            "aid": "479",
            "catid": "20",
            "username": "admin",
            "title": "HTML5\u4eff\u82f9\u679c\u5e94\u7528\u7684\u52a8\u753b",
            "pic": "portal\/201601\/04\/220252ycyddectvivr55pq.png",
            "dateline": "1451916189"
        }
    ]
}
相关文章
|
8月前
|
存储 前端开发 JavaScript
调用DeepSeek API增强版纯前端实现方案,支持文件上传和内容解析功能
本方案基于DeepSeek API增强版,提供纯前端实现的文件上传与内容解析功能。通过HTML和JavaScript,用户可选择文件并调用API完成上传及解析操作。方案支持多种文件格式(如PDF、TXT、DOCX),具备简化架构、提高响应速度和增强安全性等优势。示例代码展示了文件上传、内容解析及结果展示的完整流程,适合快速构建高效Web应用。开发者可根据需求扩展功能,满足多样化场景要求。
2689 64
|
前端开发 API UED
Python后端与前端交互新纪元:AJAX、Fetch API联手,打造极致用户体验!
Python后端与前端交互新纪元:AJAX、Fetch API联手,打造极致用户体验!
312 2
|
8月前
|
前端开发 JavaScript NoSQL
使用 Node.js、Express 和 React 构建强大的 API
本文详细介绍如何使用 Node.js、Express 和 React 构建强大且动态的 API。从开发环境搭建到集成 React 前端,再到利用 APIPost 高效测试 API,适合各水平开发者。内容涵盖 Node.js 运行时、Express 框架与 React 库的基础知识及协同工作方式,还涉及数据库连接和前后端数据交互。通过实际代码示例,助你快速上手并优化应用性能。
|
9月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
10月前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
550 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
9月前
|
数据采集 API 开发工具
从 0 到 1 掌握鸿蒙 AudioRenderer 音频渲染:我的自学笔记与踩坑实录(API 14)
本文详细介绍了在 HarmonyOS 中使用 AudioRenderer 开发音频播放功能的完整流程。从环境准备(SDK 5.0.3、DevEco Studio 5.0.7)到核心概念(状态机模型、异步回调),再到开发步骤(实例创建、数据回调、状态控制),结合代码示例与常见问题解决方法,帮助开发者掌握 AudioRenderer 的底层控制与定制化能力。同时,文章还提供了性能优化建议(多线程处理、缓冲管理)及学习路径,附带官方文档和示例代码资源,助你快速上手并避开常见坑点。
366 7
|
JavaScript 前端开发 API
[译] 用 Vue 3 Composition API 实现 React Context/Provider 模式
[译] 用 Vue 3 Composition API 实现 React Context/Provider 模式
|
JSON 前端开发 JavaScript
Proxy + Fetch 实现类似于 axios 的基础 API
本项目通过 Proxy 和 Fetch 技术实现了一个类似 axios 的基础 API,支持请求拦截、响应处理等功能,简化了前端网络请求的开发流程,提升了代码的可维护性和扩展性。
|
前端开发 JavaScript API
探究 React Hooks:如何利用全新 API 优化组件逻辑复用与状态管理
本文深入探讨React Hooks的使用方法,通过全新API优化组件逻辑复用和状态管理,提升开发效率和代码可维护性。
|
JSON 资源调度 JavaScript
Vue框架中Ajax请求的实现方式:使用axios库或fetch API
选择 `axios`还是 `fetch`取决于项目需求和个人偏好。`axios`提供了更丰富的API和更灵活的错误处理方式,适用于需要复杂请求配置的场景。而 `fetch`作为现代浏览器的原生API,使用起来更为简洁,但在旧浏览器兼容性和某些高级特性上可能略显不足。无论选择哪种方式,它们都能有效地在Vue应用中实现Ajax请求的功能。
347 4