gpt4 book ai didi

javascript - 如何获取ReactJS系列api数据?

转载 作者:行者123 更新时间:2023-12-02 21:03:29 25 4
gpt4 key购买 nike

我正在尝试获取一系列 api 数据。根据下面的 api-data,每个系列都有自己的数据,例如,一个系列“bannerData”有自己的数据 id、banner_title...,下一个系列“homecatData”有自己的数据,如 id、category_title...等等最后一个系列。
就我而言,端点 api 是“http://localhost:8000/api/homepage/

如何在reactjs中获取这些数据?

我可能是reactjs新手。如果有人能帮助我解决我想要解决的问题,那就太好了。提前非常感谢您。

{
"bannerData": [
{
"id": 2,
"banner_title": "CORONA sell",
"banner_image": "http://localhost:8000/media/hero_man.png",
"discount_price": 86,
"product_category": "7"
}
],
"homecatData": [
{
"id": 7,
"category_title": "new-arrival",
"category_slug": "new-arrival",
"category_description": "",
"category_image": "http://localhost:8000/media/cat2.jpg"
},
],
"homeproductData": [
{
"_id": 9,
"product_title": "product05",
"product_price": 21,
"product_image": "http://localhost:8000/media/product4_JOvGftO.png",
"product_new": false
},
{
"_id": 7,
"product_title": "product03",
"product_price": 21,
"product_image": "http://localhost:8000/media/product3.png",
"product_new": false
},

],
}

最佳答案

react中获取数据的方式有很多种。最常见的方法之一是使用名为 axios 的包进行获取。由于您使用的是基于类的组件,因此它看起来像这样。

这是一个工作 sandbox按照您的要求。

import React, { Component } from "react";
import axios from 'axios'
import Data from "./contact.js";

export default class App extends Component {
state = {
results: [],
isLoading: false,
};

componentDidMount() {
this.fetchData();
}

fetchData = async () => {
this.setState({ isLoading: true });
try {
const response = await axios.get("http://localhost:8000/api/homepage/");
this.setState({ results: response, isLoading: false });
} catch (error) {
console.log(error);
}
};

render() {
if (this.state.isLoading) {
return "Loading...";
}
return <Data results={this.state.results} />;
}
}

您正在尝试在 contact.js 文件中映射一个对象。您始终可以解构它们,或者必须使用点运算符显式访问所需的数组,并且在 react 中,您必须使用 className 而不仅仅是 class 使用时。

从“react”导入React;

const Data = ({ results }) => {
if (!results) {
return "";
}
const { bannerData, homecatData } = results;
return (
<div>
<center>
<h1>Banner Data</h1>
</center>
{bannerData.map((bannerData) => (
<div className="card">
<div className="card-body">
<h5 className="card-title">{bannerData.banner_title}</h5>
<h6 className="card-subtitle mb-2 text-muted">
{bannerData.banner_image}
</h6>
<p className="card-text"></p>
</div>
</div>
))}

<center>
<h1>Home Category Data</h1>
</center>
{homecatData.map((homecatData) => (
<div className="card">
<div className="card-body">
<h5 className="card-title">{homecatData.category_title}</h5>
<h6 className="card-subtitle mb-2 text-muted">
{homecatData.category_image}
</h6>
<p className="card-text"></p>
</div>
</div>
))}
</div>
);
};

export default Data;

关于javascript - 如何获取ReactJS系列api数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61283798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com