Reactjs 无法读取属性';名称';未定义的对我的道具的反应

Reactjs 无法读取属性';名称';未定义的对我的道具的反应,reactjs,mongoose,redux,Reactjs,Mongoose,Redux,我正在尝试使用我的操作getVehicleByUser读取一些数据,正如您在图片上看到的,我的道具在控制台日志中呈现,但无法读取[0]之后的数据。name。我知道我的第一个控制台日志是空的{},在另外两个之后,他给了我两倍的数据结果。如果有人现在知道发生了什么事?在我的app.js 这并没有像你期望的那样工作,因为你正在寻找的道具还没有被填充。它加载页面,然后在componentDidMount上向父元素发送回调,以收集其他信息并发送 我建议首先检查车辆数据是否存在,然后继续执行其余功能。您可以

我正在尝试使用我的操作getVehicleByUser读取一些数据,正如您在图片上看到的,我的道具在控制台日志中呈现,但无法读取[0]之后的数据。name。我知道我的第一个控制台日志是空的{},在另外两个之后,他给了我两倍的数据结果。如果有人现在知道发生了什么事?在我的app.js


这并没有像你期望的那样工作,因为你正在寻找的道具还没有被填充。它加载页面,然后在
componentDidMount
上向父元素发送回调,以收集其他信息并发送

我建议首先检查车辆数据是否存在,然后继续执行其余功能。您可以在此页面中添加加载元素,以便在收集用户的特定信息时显示用户


您可以做的另一件事(单独或结合上述内容)是车辆数据,并为其提供默认道具,以便您的功能不会中断。

我认为问题在于,存储道具在安装时还不存在。(说道具还不存在,是指数据尚未填充) 试试这个:

if(this.props.vehicles[0].name){ 
  console.log(this.props.vehicles[0].name)
}

你的初始状态如何?如果我这样做,reducerdoesn也不起作用:
renderListVehicle(){if(this.props.vehicles){console.log(this.props.vehicles[0].name)}
'无法读取未定义的属性'name',只有当您没有将任何值作为vehicles prop传递给组件或该值为null时,您的语法才会起作用。如果要将空数组传递给组件,可以执行类似于
If(this.props.vehicles.length>0){…}
.Merci Monsieur@technicallynick的操作


export default function(state = {}, action){
    switch (action.type) {
        case GET_MY_VEHICLE:
            return action.payload || false;
        default:
            return state
    }
}```
if(this.props.vehicles[0].name){ 
  console.log(this.props.vehicles[0].name)
}