当前位置: 首页 > 知识库问答 >
问题:

如何获取系列api数据ReactJS?

穆修杰
2023-03-14

我试图获取一系列api数据。根据下面的api数据,每个系列都有自己的数据,例如,一系列“bannerData”有自己的数据id,banner_title...下一个系列“home ecatData”有自己的数据,比如id,category_title...等等
在我的例子中,endpointapi是http://localhost:8000/api/homepage/

如何在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
        },

    ],
}

共有3个答案

洪博涛
2023-03-14

Axios将帮助您获取api数据
在终端上键入npm I axios以使用axis获取数据

访问https://www.npmjs.com/package/axios安装轴并学习如何使用它

寇照
2023-03-14

您可以从每个主要json数据(bannerData、homecatData、homeproductData)中提取

export const fetchbannerData = ()  =>{
        return fetch(baseurls+'bannerData')
            .then(response => {
                    if (response.ok) {
                        return response;
                    } else {
                        var error = new Error('Error ' + response.status + ': ' + response.statusText);
                        error.response = response;
                        throw error;
                    }
                },
                error => {
                    var errmess = new Error(error.message);
                    throw errmess;
                })
            .then(response => response.json())
    }
葛修永
2023-03-14

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

根据您的要求,这里有一个工作沙箱。

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} />;
      }
    }

您正在尝试映射您的联系人中的对象。js文件。您可以随时对其进行分解,或者必须使用点运算符显式访问所需的数组,并且在react中,使用时必须使用className,而不仅仅是class

从"反应"导入反应;

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;

 类似资料:
  • 我有一个要求显示以下信息从播放商店管理面板。 用户评论/评论 应用程序安装/卸载(每周/每月/每季度) Android生命周期(崩溃、Anr、性能) 简而言之,我需要在我的

  • 我正在创建一个fetchBill函数。分配https://randomapi.com/api/006b08a801d82d0c9824dcfdfdfa3b3c到一个api变量。它使用浏览器的fetch函数向api发出HTTP请求。它在一个函数中使用箭头函数。然后调用fetch函数,并在将其转换为JSON后返回响应。使用另一个。然后调用第一个函数,该函数将JSON数据传递给displayCartTo

  • 问题内容: 我是reactjs / redux的初学者,找不到如何使用api调用在redux应用程序中检索数据的简单示例。我猜您可以使用jquery ajax调用,但是那里可能还有更好的选择? 问题答案: JSfiddle; http://jsfiddle.net/cdagli/b2uq8704/6/ 它使用redux,redux-thunk和fetch。 提取方法; 上面使用的动作: (注意:您

  • 当我尝试使用Angularjs$http.get()访问wiki api时,出现了CORS问题。这是我的密码 $http.get('http://en.wikipedia.org/w/api.php?action=query 这是错误信息 无法加载XMLHttpRequesthttps://en.wikipedia.org/w/api.php?action=query

  • 本文向大家介绍Vue如何获取数据列表展示,包括了Vue如何获取数据列表展示的使用技巧和注意事项,需要的朋友参考一下 这个例子从 Github 的 API 中获取了最新的 Vue.js 提交数据,并且以列表形式将它们展示了出来。你可以轻松地切换 master 和 dev 分支。 一、展示 二、源码 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 我想知道的是: 是否可以为本地宿主数据库获取对象? 类需要发布吗?还是像那样,只获得连接而不创建新类? 你能举个例子吗?