reactjs - .Net Core - React - TypeError:this.state.values.map 不是函数 - App.UseEndpoint
问题描述
我正在学习 React,我有一个适合用途的有效 API,现在需要一个前端。目前,我希望证明我可以获取数据,并且 CORS 政策正在按我希望/预期的方式工作。
正如您从图像中看到的那样,我可以点击端点并在控制台中看到数据。
目前这是我的代码,虽然是概念,但没有使用 React Hooks(稍后会介绍)
state = {
values: [],
};
componentDidMount() {
axios.get('https://localhost:5001/get-countries').then((response) => {
console.log(response);
this.setState({
values: response.data,
});
console.log(this.state.values);
});
}
... ommitted code
<ul>
{this.state.values.map((value: any) => (
<li>
... more ommitted code
</li>
))}
</ul>
当我运行它时,我得到了错误
TypeError:this.state.values.map 不是函数
API 使用的是 Ardalis Endpoints 和 Mediatr 模式,此时无法更改,因为它是更广泛项目的一部分。
所以,问题是我如何阻止它给出错误。
解决方案
根据评论,
错误表示state.value
数据不包含数组,您正在将国家对象分配给state.value
. 相反,您应该自己指定国家;
this.setState({
values: response.data.countries,
});
推荐阅读
- python - 有没有办法修复 mathplotlib.pyplot.quiver 生成的箭头的大小(以 x/y 为单位)?
- android-location - LG + Moto 位置检查问题
- airflow-scheduler - 使用芹菜运行并行任务的气流理想配置?
- c# - trhow异常时如何停止Windows服务?网络核心
- python - 如何查询 npm API 以获取多部分 Typescript 包?
- python-3.x - 在代码编辑器上使用实例方法的类没有输出
- c# - 我想显示我的收藏列表中的信息
C# - c# - LINQ 选择投影和不同的子类型
- c++ - 如何将 IOS X Development 更改为兼容版本?
- jsf - 如何两次单击相同的 jsf 命令按钮?