【问题标题】:React & Axios - Get values from an object inside of an objectReact & Axios - 从对象内部的对象中获取值
【发布时间】:2021-08-09 01:57:05
【问题描述】:

我在这里做一个小项目,但在开始使用 API 时遇到了困难。

所以我遇到的问题是我需要访问 api 中的“价格”部分。以下是 api 中一种产品的示例:

我已经设法进入0: Object 等,所以我可以访问namebrandName 等。但我还需要进入price 那里。

我自己也试过了,但都没有成功。

这是我的代码:

import axios from "axios";
import { useState } from "react";

const ApiTest = (props) => {
  const [product, setProducts] = useState([]);
  const [price, setPrice] = useState([]);

  const getProducts = () => {
    const options = {
      method: "GET",
      url: "https://asos2.p.rapidapi.com/products/v2/list",
      params: {
        store: "US",
        offset: "0",
        categoryId: "4209",
        limit: "48",
        country: "US",
        sort: "freshness",
        currency: "USD",
        sizeSchema: "US",
        lang: "en-US",
      },
      headers: {
        "x-rapidapi-key": "",
        "x-rapidapi-host": "",
      },
    };

    axios
      .request(options)
      .then(function (response) {
        setProducts(response.data.products);
        console.log(response.data.products);
      })
      .catch(function (error) {
        console.error(error);
      });
  };

  return (
    <div>
      <button onClick={getProducts}>Get Products</button>
      <div>
        <ul>
          {product.map((post) => (
            <li key={post.id}>{post.brandName}</li>
          ))}
        </ul>
      </div>
    </div>
  );
};

export default ApiTest;

【问题讨论】:

  • 能否提供您从 API 获得的完整回复?
  • 另外,你是说post.price.currency 不工作吗?
  • @RonB。发表于 pastebin:yP8nXTSc
  • @NisanthReddy 哦,它确实有效。奇怪,我之前在 google chrome 上尝试过,但改用 Mozilla 来设计页面。它有效。谢谢!

标签: reactjs axios


【解决方案1】:

你只需要:

products[0].price.currency

【讨论】:

  • 对披头士经典歌曲的奇怪演绎,但正确
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-21
  • 1970-01-01
  • 2019-11-10
  • 1970-01-01
  • 2012-02-06
  • 1970-01-01
相关资源
最近更新 更多