reactjs - TypeError:cars.map 不是函数 - ReactJs
问题描述
我正在尝试将所有数据放入一个表中,并且我正在使用 reactjs 和钩子来实现 CRUD,所以我遇到了这个错误,请有人帮我解决这个问题。
这是代码:
const [car, setCarh] = useState(initialState)
useEffect(()=> {
retrieveCars();
}, [])
const retrieveCars =() =>{
DataService.getAll()
.then(response => {
setCarh(response.data)
console.log(response.data);
})
.catch(e => {
console.log(e);
});
}
<tbody>
{
cars.map((data) => (
<tr >
<th scope="row">{data.idCars}</th>
<td>{data.carName}</td>
<td>{data.carModel}</td>
<td>
<Link to={"/classement/update/" + data.idCars}
className="btn btn-info"
>
Edit
</Link>
解决方案
最初,您将汽车定义为一个对象:
initialState = { idCars: null, carName: "", carModel: "" }
对象没有 map 方法。
如果要显示不止一辆汽车的数据,则需要创建一个数组并用对象填充它,每个对象代表一辆汽车。
如果要显示单辆车的数据,则不需要使用地图。例如:
const [car, setCar] = useState(initialState)
return (<tr >
<th scope="row">{car.carName}</th>
<td>{data.carModel}</td>
<td></tr> ....
推荐阅读
- apache-spark - 如何减少 spark 2.3 中的存储内存?
- java - 根据身高安排学生并确定未正确站立的学生人数
- typescript - 使用类表达式/值作为类型
- node.js - 多个 AWS Lambda 是否可以为单个 HTTP 请求提供服务?
- excel - 为 SFTP 位置中的 excel 文件自动执行宏
- c++ - 使用换行符打破c ++中的循环
- python - 在 LinkedIn 上抓取工作机会时遇到的困难
- r - 从 R 中的两个日期列生成日期范围
- d3.js - 如何为 d3.js 地球标记添加高度,模仿图钉?
- terminal - ANSI 终端将字符一层一层叠加