React使用axios请求后端数据并渲染到页面上

import React from "react";
import axios from "axios";
import Network2 from "./Network2"
class Network extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      newslist:[]
      };
    
  }
  componentDidMount() {
    /* Http = axios
     * Http调用里面的get方法
     * data是参数 get需要key params post不需要直接{id: '007'}
     * .then()成功回调
     * .catch()失败回调
     */

    let data = {
      params: {
        key: "2fa8bdec666c46942e03ae3a158e2339",
      },
    };
    axios.get("1.json", data).then(
      (res) => {
        const newslist = res.data.newslist;
        // const listItems = newslist.map((newlist) => {
        //     console.log(newlist.title + "----" + newlist.description);
            
        //   return <li>{newlist}</li>;
        // });
        this.setState({newslist:newslist});
        console.log(newslist);
        // return listItems;
      },
      (error) => {
        console.log("失败了", error);
      }
    );
  }

  render() {
    return (
      <div>
            <Network2 newslist={ this.state.newslist}/>
      </div>
    );
  }
}
export default Network;

import React from "react";
import './Network2.css'
class Network2 extends React.Component {
  constructor(props) {
      super(props);
      this.state={}
  }
  
  render() {
    return (
        this.props.newslist.map((newlist,i)=>{
            return (
                <ul key={newlist.id} className="text-center">
                  <li className='title'>{newlist.title}</li>
                  <li>{newlist.description}</li>
                </ul>
            )       
        })
    );
  }
}
export default Network2;

参考:大佬
https://blog.csdn.net/YanAhao/article/details/108319950?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.essearch_pc_relevant&spm=1001.2101.3001.4242.1

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React渲染后端数据可以通过以下步骤完成: 1. 在React组件中发送请求后端API获取数据。可以使用axios、fetch或其他HTTP库发送异步请求。 2. 在组件的state中设置一个变量来存储从后端获取的数据。例如,可以在组件的构造函数中初始化一个空数组或对象。 3. 使用生命周期方法(如componentDidMount)或Hooks(如useEffect)来发送请求并将数据保存到组件的state中。在请求完成后,将后端返回的数据设置到state中。 4. 在组件的render方法中使用state中的数据渲染UI。可以使用map方法遍历数组,或者直接使用对象的属性来显示数据。 下面是一个简单的示例代码: ```javascript import React, { useEffect, useState } from 'react'; import axios from 'axios'; const MyComponent = () => { const [data, setData] = useState([]); useEffect(() => { axios.get('/api/data') .then(response => { setData(response.data); }) .catch(error => { console.error(error); }); }, []); return ( <div> {data.map(item => ( <div key={item.id}> <h2>{item.title}</h2> <p>{item.description}</p> </div> ))} </div> ); }; export default MyComponent; ``` 在上面的示例中,我们使用了useState和useEffect来发送请求并保存数据到组件的state中。然后,我们使用map方法将每个数据渲染为一个包含标题和描述的div元素。请注意,这只是一个简单的示例,实际情况中可能需要处理加载状态、错误处理等更多的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值