javascript - 无法读取未定义 REACT 的属性“地图”
问题描述
constructor(){
super();
this.state = {
lista: [],
}
}
componentDidMount(){
fetch('http://lospraianos-env-1.qu3skpxsmw.sa-east-1.elasticbeanstalk.com/api/materials')
.then(response => response.json())
.then(resData => {
this.setState( {data: resData.results});
})
}
<div>
<table className="pure-table">
<thead>
<tr>
<th>id</th>
<th>Produto</th>
<th>Quantidade</th>
</tr>
</thead>
<tbody>{
this.props.lista.map(function(data){
return (
<tr key={data.codMat}>
<td>{data.codMat}</td>
<td>{data.material}</td>
<td>{data.qntMin}</td>
</tr>
);
})
}
</tbody>
</table>
</div>
我正在尝试从 API 获取信息并用它制作一个表格,但我遇到了一些错误。
无法读取未定义的属性“地图”
我该如何处理?
解决方案
我建议在这里进行条件渲染,lista
首先检查属性,然后再映射所有数据。
{
this.props.lista && this.props.lista.map(function(data){
return (
<tr key={data.codMat}>
<td>{data.codMat}</td>
<td>{data.material}</td>
<td>{data.qntMin}</td>
</tr>
);
})
}
以及你有一个错误
this.setState( {data: resData.results});
因为您需要为 设置状态lista:resData.results
,而不是data
推荐阅读
- docker - Docker 容器内的 GC 统计信息
- python - 测试数据的负 R 方,而训练数据的 R 方很好
- c++ - 错误:对成员的请求不明确 C++;
- node.js - 错误断言 `args[3]->IsInt32()' 失败
- php - 如何设置和获取txt文件的文件属性
- react-native - 如何在 React-Native 中将屏幕从 App.js 导航到第一个屏幕
- android - 片段中的 OnCreateView 仅被第一次调用,不再被调用
- html - HTML / CSS 标头问题?
- python - 我想向你们学习如何修改我的代码
- dll - 未知的 DLL 文件 Windows 8.1 64 位