Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用React,如何在数组的API对象中从JSON获取数据_Javascript_Json_Reactjs - Fatal编程技术网

Javascript 使用React,如何在数组的API对象中从JSON获取数据

Javascript 使用React,如何在数组的API对象中从JSON获取数据,javascript,json,reactjs,Javascript,Json,Reactjs,我目前正在使用这个API来练习抓取数据。我正在尝试选择,有一个选项下拉列表,我可以在其中选择一个国家(还可以获取国家代码(iso3)作为值/键),然后显示统计数据(例如,已确认、已恢复等) 使用console.log,我返回: {countries: Array(188)} countries: (188) [{…}, {…}, …] __proto__: Object 国家/地区似乎是一个包含嵌套数组和对象的对象: {countries: Array(188)} countries:

我目前正在使用这个API来练习抓取数据。我正在尝试选择,有一个选项下拉列表,我可以在其中选择一个国家(还可以获取国家代码(iso3)作为值/键),然后显示统计数据(例如,已确认、已恢复等)

使用console.log,我返回:

{countries: Array(188)}
 countries: (188) [{…}, {…}, …]
 __proto__: Object
国家/地区似乎是一个包含嵌套数组和对象的对象:

{countries: Array(188)}
 countries: Array(188)
  [0 … 99]
  [100 … 187]
我目前正在尝试抓取国家,然后映射这两个数组:
[0…99]
[100…187]
,这样最后我可以使用数据动态呈现国家名称的下拉选项列表(
+
),例如:
{name:“阿富汗”,iso2:“AF”,iso3:“AFG”}
选择一个国家,然后查看所选国家的统计信息

在“反应渲染”中:

  return (
    <div>
      <select>
        {grabbingData.map(([country, code]) => (
          <option key={code} value={countries.iso3[code]}>
            {country}
          </option>
        ))}
      </select>
    </div>
  );
返回(
{grabbingData.map([country,code])=>(
{国家}
))}
);

使用
console.log(countries.countries[187])
,我可以抓取
{name:“津巴布韦”、iso2:“ZW”、iso3:“ZWE”}
,但我无法用国家名称呈现选择选项下拉列表。

您正在将国家作为
数组而不是
地图中的
对象进行破坏

另外,我不明白您的每个
选项的
值。我想您想将每个
设置为
对象
?如果是的话,你就不想那样做了

我建议你这样做

。。。
函数onChange(事件){
const{value}=event.target;
const selectedCountry=countries.find({iso2}=>iso2==value);
console.log(选择的国家/地区);
}
返回(
{countries.map((国家,i)=>(
{country.name}
))}
);



如果你想获得所选国家的统计数据,你必须包括在你的问题上使用什么API。目前,您提到的API只返回
国家

您可以再次检查地图中的破坏是否正确吗?我可以使用console.log获取一个国家,但在呈现带有国家名称的下拉选项列表时遇到问题。