Ошибка типа: Не удается прочитать свойства неопределенного (чтение «имя пользователя»)

#reactjs #react-forwardref

Вопрос:

весь сегмент кода:

 const Message= forwardRef(({ message,username}, ref)=> {
    const isUser = username === message.username;
    return (
            <div ref={ref} className={`message ${isUser amp;amp; 'message__user'}`}>
                <Card className={isUser ? "message__userCard" : "message__guestCard"}>
                <CardContent >
                    <Typography 
                    color="black"
                    variant="h5"
                    component="h2"
                    >
                        {message.username}:{message.message}
                    </Typography>
                </CardContent>
                </Card>
            </div>
            
    )
});

export default Message;
 

ошибка показывает, что часть имени пользователя в этой части не определена.
Не удается прочитать свойства неопределенного (чтение «имя пользователя»)

 const isUser = username === message.username;
 

родителем, в котором вызывается сообщение, является

 <FlipMove>
     {
       messages.map(({id , message}) => (
         <Message key={id} username={username} message={message}/> //Message.js component,passing the text to message component
       ))
     }
     </FlipMove>
 

Комментарии:

1. Не могли бы вы поделиться родительским компонентом, из которого вызывается сообщение?

2. Тогда message есть undefined . Есть ли у вас конкретная информация, указывающая на иное?

3. нет , другой информации нет, часть имени пользователя не определена .

4. @Shatakchhi: Ну, скажем по-другому… Если у вас нет информации, указывающей, что message она должна иметь значение, то почему вы ожидаете, что она будет иметь значение? Ошибка довольно очевидна. message является undefined . Так что вы не можете разыменовать его. Вам либо нужно указать значение для него при использовании этого компонента, либо вам нужно проверить, имеет ли он значение, прежде чем пытаться его использовать.