我无法访问 Mongoose 对象的填充字段。我想把它放在我的页面上。
范例:
“console.log(booking.assignedUser.first)”返回给我:
TypeError:无法读取未定义的属性(阅读“first”)
不过,就我所知这应该管用。很明显,场地就在那里。
在jsx文件中:
console.log(booking.assignedUser)
对象:
{
etc etc
assignedUser: { _id: new ObjectId("62f068b068802d58c8d35442"), first: 'driver' },
etc etc
}
那么为什么我可以访问booking.assignedUser并显示数据,但booking.assignedUser.first不起作用?
2条答案
按热度按时间xeufq47z1#
因为这些值是从数据库填充的,我猜它们加载得不够快,所以它给了我这个错误。
如果我先检查以确保值存在,然后使用它,它就工作了。
我在我的应用程序中处理了很多这种类型的数据,所以我没有直接在react对象中输出jsx,而是使用一个函数来返回所有这些数据,我传入了db数据。
例如,在React组件中的输出开始处使用三进制是不够的。
这是不够的。它仍然会出错。我不得不立即将三元放在田野上,以便它工作。
对每个字段都这样做会很麻烦,所以先把它放到函数中似乎效果更好。
yrdbyhpb2#
很可能,您正在尝试在尚未设置数据时实现数据填充。需要确保数据已经设置。
你可以这样使用它;
如果页面由于数据为空而无法查看组件,则需要在开始查看组件时使用此条件。