首页 > 解决方案 > 为什么我无法访问来自 ReactJS 中道具的对象的属性?

问题描述

所以我有一个类,它接收一个包含两个对象的数组作为道具。

如果我在这里控制台记录它,我可以看到我收到了值 在此处输入图像描述

在此处输入图像描述

所以价值观就在这里。之后,我试图将我需要的其中一个对象放入“currentCar”变量中,如您所见。这也有效,我得到一个只有一个元素的数组。

当我尝试将此“currentCar”变量作为道具发送到 EditCarComponent 时,情况会发生变化。

在我的 EditCarComponent 中,我可以做到这一点并且很好:

在此处输入图像描述

它显示这个:

在此处输入图像描述

应该的,我猜。但是我一旦尝试做这样的事情:

在此处输入图像描述

我得到:“TypeError:无法读取未定义的属性'carName'”

而且我真的不知道问题出在哪里,为什么我无法访问显然存在的那个对象的属性?

标签: javascriptreactjsobjectreact-props

解决方案


您正在使用 Array.filter 而不是 Array.find,filter 返回数组中与新数组中的条件匹配的所有项目,而 find 将为您获取与条件匹配的第一个项目,因此如果您想获得一个结果,请使用Array.find 方法。

const currentCar = this.props.cars.find((car) => car.carId === currentId)

推荐阅读