Hey this is a react native code with redux saga.. The code returns a list.map
with "filterUnreadMessages = list"...
But for some reason the code return this especific error:
undefined is not an object (evaluating '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,
),
It means that message.message_contacts
is undefined
, so you can't call .filter
on it. Alternatively, message
itself is undefined.
You can do a check first:
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 [];
}
}