未处理的拒绝(类型错误):无法读取未定义的属性“状态”

时间:2019-12-13 07:27:35

标签: reactjs

我有一个输入,如果用户搜索id并且与id匹配,它将显示状态。但是,如果用户没有提供正确的ID,则会给我一个错误。我应该怎么做,即使用户搜索无效的内容,它也只会显示“无效的ID”。

My array

What my code looks like

1 个答案:

答案 0 :(得分:1)

根据您的代码,我已经看到 数组看起来像:

let Deliveries=[{DeliveryID:"WHKYYY", OwnerID:2, Staus:"Delivered"},
    {DeliveryID:"MHKYYY", OwnerID:3, Staus:"Delivered"},
    {DeliveryID:"KKHKYYY", OwnerID:4, Staus:"Warehouse"},
    {DeliveryID:"LLHKYYY", OwnerID:2, Staus:"Delivered"},
   ]

问题是,当您搜索某项内容且与DeliveryID不匹配时,时间搜索结果将不确定。您可以使用||为避免使用未定义的值来设置像[]这样的空数组,在返回状态之前,您可以检查rearch结果。如果结果为空,则返回“”。

类似的代码:

let track =data.Deliveries.filter(item=> Model.searchQuery===item.DeliveryID)||[];
if(track .length>0){
//mathch the ID and informaiton is avialable
//other code here
}else{
// does not match. return null or ""
}