javascript - 地图未定义
问题描述
我不断收到地图未定义的错误。由于 regeneratorRuntime 错误,我更改了我的代码,现在我坚持使用这个。任何帮助表示赞赏!
import React, {Component, useEffect, useState} from 'react'
import axios from 'axios'
require("regenerator-runtime/runtime");
const App = () => {
const [data, setData] = useState({heroes: []});
useEffect(() => {
const fetchData = async () => {
const result = await axios(
'https://api.opendota.com/api/heroStats',
);
setData(result.data);
};
fetchData();
}, []);
return(
<ul>
{data.heroes.map(item => (
<li key={item.id}>
<a href={item.name}>{item.localized_name}</a>
</li>
))}
</ul>
)
};
export default App
解决方案
像这样定义
setData({...data, heroes:result.data});
因为你已经将英雄数组变量传递给状态所以传播变量然后设置数据
useEffect(() => {
const fetchData = async () => {
const result = await axios(
'https://api.opendota.com/api/heroStats',
);
setData({...data, heroes:result.data});
};
fetchData();
}, []);
推荐阅读
- python - 如何使用来自 webhook 的 http 请求使用 binance api 进行交易?
- angular - 在 NgRx 中强类型化存储的目的是什么?
- html - 将 instagram 的最新帖子嵌入我的网站
- android - android gradle资源排除文件不起作用
- python - 如何通过将文件位置作为输入来导入 Excel 工作表(使用 Pandas)
- java - Mybatis 同时使用 WHERE IF DESC 和 LIMIT 时,IDEA 显示 Unable to resolve table 'LIMIT'
- java - 单个字符串中的多个字符串替换生成所有可能的组合
- mysql - 在 sql 单元格中传递多个前值
- asynchronous - 未来
, async, await, then, Flutter/Dart 中的 catchError - jquery - 猫头鹰轮播项目不会滚动