Javascript ×;TypeError:无法读取属性';地图';未定义的React-API的定义
获取API数据时没有任何问题,但只要我尝试使用map()函数循环数据,就无法读取未定义错误的属性“map”Javascript ×;TypeError:无法读取属性';地图';未定义的React-API的定义,javascript,reactjs,Javascript,Reactjs,获取API数据时没有任何问题,但只要我尝试使用map()函数循环数据,就无法读取未定义错误的属性“map” import React, { useState, useEffect } from 'react'; function Shop() { useEffect(() => { fetchItems(); }, []); const [items, setItems] = useState([]); const fetchItem
import React, { useState, useEffect } from 'react';
function Shop() {
useEffect(() => {
fetchItems();
}, []);
const [items, setItems] = useState([]);
const fetchItems = async () => {
const info = await fetch('https://fortnite-api.theapinetwork.com/store/get');
const items = await info.json();
console.log(items.items);
setItems(info.items);
}
return (
<div>
<h1>SHOP PAGES</h1>
{items.map(item => (
<p>{item.name} </p>
))}
</div>
);
}
export default Shop
import React,{useState,useffect}来自“React”;
功能商店(){
useffect(()=>{
fetchItems();
}, []);
const[items,setItems]=useState([]);
const fetchItems=async()=>{
const info=等待获取('https://fortnite-api.theapinetwork.com/store/get');
const items=await info.json();
console.log(items.items);
设置项目(信息项目);
}
返回(
商店页面
{items.map(item=>(
{item.name}
))}
);
}
导出默认商店
您正在呼叫
setItems(info.items);
你应该在哪里打电话
setItems(items.items);
(因为这是您正在console.log
ing的对象。)
我建议将
info
重命名为fetchResponse
,这样就更难犯这样的错误。打字错误只会得到评论并关闭投票,而不是答案。(而且非常准确!)setItems(info.items)
从fetch
查找响应对象上的items
属性,而不是响应主体;您将解析后的响应主体放入项中。它应该是setItems(items.items)
如果console.log
向您显示正确的内容。