我正在尝试为 NBA 球员统计数据提取一些数据,但我不断收到"无法读取未定义的属性'地图'"错误,我不明白为什么。我以同样的方式完成了类似的教程,没有任何问题,所以我很困惑。 代码如下:
function App() {
const [player, setPlayer] = useState([]);
const [team, setTeam] = useState([]);
const [loading, setLoading] = useState(true);
useEffect(() => {
async function fetchStats() {
let res = await fetch(`https://free-nba.p.rapidapi.com/stats/?format=json`,
{
"method": "GET",
"headers": {
"x-rapidapi-host": "free-nba.p.rapidapi.com",
"x-rapidapi-key": "b9c32f403bmshdcd37fd74ccc767p1748b9jsn94ae938ec129"
}
});
let data = await res.json();
setPlayer(data.results);
setLoading(false);
}
fetchStats();
}, []);
return ( //Added where I'm calling Players
<>
<Router>
<Navbar />
<Container>
{loading ? (
<Dimmer active inverted>
<Loader inverted>Loading</Loader>
</Dimmer>
) : (
<Switch>
<Route exact path='/player'>
<Players data={player} />
</Route>
<Route exact path='/team'>
<Teams data={team} />
</Route>
</Switch>
)}
</Container>
</Router>
</>
);
}
导出默认函数 播放器({ 数据 }( { 返回 (
<>球员
{data.map((player, i( => {//这是我得到错误返回的地方( {player.first_name}高度{player.height_feet}
位置{玩家.位置}
) })} )}
我想出了什么问题。API 从名为 data 的数组返回数据。
所以我不得不放 setPlayer(data.data( 而不是 setPlayer(data.results(。