javascript - 为什么我无法访问来自 ReactJS 中道具的对象的属性?
问题描述
所以我有一个类,它接收一个包含两个对象的数组作为道具。
所以价值观就在这里。之后,我试图将我需要的其中一个对象放入“currentCar”变量中,如您所见。这也有效,我得到一个只有一个元素的数组。
当我尝试将此“currentCar”变量作为道具发送到 EditCarComponent 时,情况会发生变化。
在我的 EditCarComponent 中,我可以做到这一点并且很好:
它显示这个:
应该的,我猜。但是我一旦尝试做这样的事情:
我得到:“TypeError:无法读取未定义的属性'carName'”
而且我真的不知道问题出在哪里,为什么我无法访问显然存在的那个对象的属性?
解决方案
您正在使用 Array.filter 而不是 Array.find,filter 返回数组中与新数组中的条件匹配的所有项目,而 find 将为您获取与条件匹配的第一个项目,因此如果您想获得一个结果,请使用Array.find 方法。
const currentCar = this.props.cars.find((car) => car.carId === currentId)
推荐阅读
- php - 在服务器端脚本之间传递 PHP SESSION 变量
- html - 如何使用阴影创建实心边框?
- android - Android PlacePicker 不返回所选地址
- python - 如何记录规则以基于与 Many2Many 的用户登录关系
- javascript - 如何设置 mongodb 以提供此 URL
- swing - 如何在 Linux 上支持 JFrame 透明性
- git - 对已添加 git 然后 git 提交的文件进行更改似乎工作得很好
- html - 在 div 的中心制作文本
- macos - 如何在带有 chrome 驱动程序的 macos 上使用 selenium 关闭选项卡?
- python - 如何使用数据框信息来分隔不同列表中不同类型的列?