undefined 不是对象(正在计算 'message.message_contacts.filter')
undefined is not an object (evaluating 'message.message_contacts.filter')
嘿,这是一个带有 redux saga 的 React 本机代码。代码 return 是 list.map
和“filterUnreadMessages = list”...
但出于某种原因,代码 return 这个特定错误:
undefined 不是对象(正在计算 'message.message_contacts.filter')
const messageIds = list.map(message => message.id);
const filterUnreadMessages = list
.map(message =>
message.message_contacts.filter(
contact => contact.contact_id === userId && contact.readed_at === null,
),
表示message.message_contacts
是undefined
,所以不能在上面调用.filter
。或者,message
本身是未定义的。
您可以先做个检查:
const filterUnreadMessages = list
.map(message => {
if (message !== undefined && Array.isArray(message.message_contacts)) { // <-- check here
return message.message_contacts.filter(
contact => contact.contact_id === userId && contact.readed_at === null,
)
} else {
return [];
}
}
嘿,这是一个带有 redux saga 的 React 本机代码。代码 return 是 list.map
和“filterUnreadMessages = list”...
但出于某种原因,代码 return 这个特定错误:
undefined 不是对象(正在计算 'message.message_contacts.filter')
const messageIds = list.map(message => message.id);
const filterUnreadMessages = list
.map(message =>
message.message_contacts.filter(
contact => contact.contact_id === userId && contact.readed_at === null,
),
表示message.message_contacts
是undefined
,所以不能在上面调用.filter
。或者,message
本身是未定义的。
您可以先做个检查:
const filterUnreadMessages = list
.map(message => {
if (message !== undefined && Array.isArray(message.message_contacts)) { // <-- check here
return message.message_contacts.filter(
contact => contact.contact_id === userId && contact.readed_at === null,
)
} else {
return [];
}
}