javascript - 尝试访问 Api 中的数组但没有返回任何内容

标签 javascript arrays reactjs api

我正在尝试访问 Api 中的数组,但不幸的是它没有返回任何内容。该行是 <p>边框的标记。下面是我的代码:

// import './App.css';
import { useEffect } from "react";
import { useState } from "react";

function CountryDetail({ match }) {
  useEffect(() => {
    fetchItem();
    console.log(match);
  }, []);

  const [country, setCountry] = useState(null);

  const fetchItem = async () => {
    try {
      const fetchCountry = await fetch(
        `https://restcountries.eu/rest/v2/name/${match.params.name}`
      );
      const country = await fetchCountry.json();
      setCountry(country[0]);
      console.log(country[0]);
    } catch {
      // leave state alone
    }
  };

  return (
    country && (
      <div>
        <h1> Name: {country.name} </h1>{" "}
        <p> Native Name: {country.nativeName} </p>{" "}
        <p> Region: {country.region} </p>{" "}
        <p>
          {" "}
          Languages: {country.languages.map(({ name }) => name).join(", ")}{" "}
        </p>{" "}
        <p>
          {" "}
          Borders: {country.borders.map(({ border }) => border).join(", ")}{" "}
        </p>{" "}
      </div>
    )
  );
}

export default CountryDetail;

我得到上面的行是 Api 中的一个对象。但是,对于数组,我似乎没有通过数组进行映射。任何帮助将不胜感激。

最佳答案

如果country.borders是一个数组,您可以通过以下方式实现映射:

Borders: {country.borders.join(', ')}

我认为没有必要像你一样使用 .map

关于javascript - 尝试访问 Api 中的数组但没有返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61294669/

相关文章:

javascript - 如何将 x->n y->n 对象顺时针旋转 90°?

arrays - 如何检查动态数组是否为空

php - Fetch API 无法加载 '.php' 本地文件 - React JS + PHP

javascript - 搜索对象的嵌套数组

javascript - 为所有 Kendo UI 网格设置默认属性

javascript - 为什么我的 Nativescript-vue 发布 apk 出现错误

javascript - 如何使用 setVisible() 方法使用 json 模型设置元素的可见属性

javascript - 在菜单结构中添加和删除类

python - 在python中生成条件随机二进制数组矩阵

reactjs - 在 Jest 中检查我的组件上是否存在可选 Prop