在React中获取请求:如何在对象数组内通过对象的JSON数组进行映射?

格雷格:

我设法获取API并可以在浏览器中输出一些数据,但是我无法处理JSON中的对象数组。这是一个休息国家/地区的API,其中一些国家/地区使用一种以上的语言。我想输出他们说的所有语言。这是API链接。这是我的代码

import React, { useState, useEffect } from "react";
import CountryListCard from "./CountryListCard";

import "./CountryList.scss";

export default function CountryList() {
  const [data, setData] = useState([]);

  const fetchData = () => {
    fetch("https://restcountries.eu/rest/v2/all")
      .then((res) => res.json())
      .then((result) => setData(result))
      .catch((err) => console.log("error"));
  };

  useEffect(() => {
    fetchData();
  }, []);

  return (
    <div>
      {data &&
        data.map((element, index) => (
          <CountryListCard
            image={element.flag}
            name={element.name}
            key={index}
            region={element.region}
            population={element.population}
           {/* language={element.languages[0]}   this doesn't work*/}
          />
        ))}
      {/* {data.languages &&
        data.languages.map((element, index) => (  
          <CountryListCard key={index} language={element.languages.iso639_1} />  this doesn't work
        ))} */}
    </div>
  );
}


茶黄素:

您应该在国家/地区地图中调用语言地图,例如:

countries.map(country=>(
<div key={country.name}>
    <h1>{country.name}</h1>
    {country.languages.map((language, languageIndex)=>(
        <p key={languageIndex}>{language.name}</p>
     ))}
</div>
))

此外,它与帖子无关,但我建议您不要在.map中使用通用名称,例如item / element / obj

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在React中映射对象数组

如何通过对象的属性对json或jsonb值内的数组中的对象进行排序?

如何在对象数组中获取对象所有属性值的数组?

在React中获取请求:如何映射对象的JSON数组,setState()和附加?

如何在对象数组内打印对象的变量

如何在React Native中获取对象数组中的对象

Angular 2 Firebase如何在对象中获取数组

如何在对象数组中查找空对象的索引

如何在React中通过对象的嵌套数组进行映射

如何在JSON数组中的对象内获取JSON对象

如何在对象上映射并呈现对象javascript / reactjs中的数组?

如何在对象/数组内链接?

如何在React Native中获取数组对象内的嵌套数组对象

您如何在对象内映射对象数组?

如何在对象数组中获取最大值

如何在对象数组中设置每个对象的属性?

如何在对象Javascript数组内过滤数组对象?

如何在React中渲染存储在对象中的数组?

如何在对象中获取数组对象

如何在对象中的对象数组中映射这组对象

如何在对象状态反应中删除对象数组

如何在对象 react-native 中获取数组大小

如何在 React 中渲染/映射对象数组

如何在对象内部进行映射和数组

如何在对象数组的嵌套数组中获取数组对象javascript

如何通过对象数组中的动态键映射获取值?

如何在对象数组内移动对象属性

如何在对象中的数组中获取嵌套数组中的数据

如何通过对象数组数组中的属性进行映射 - reactjs