Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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 ×;TypeError:无法读取属性';地图';未定义的React-API的定义_Javascript_Reactjs - Fatal编程技术网

Javascript ×;TypeError:无法读取属性';地图';未定义的React-API的定义

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

获取API数据时没有任何问题,但只要我尝试使用map()函数循环数据,就无法读取未定义错误的属性“map”

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
向您显示正确的内容。