Я пытаюсь предотвратить повторный рендеринг при использовании настраиваемого хука в течение нескольких часов -.-, нужна помощь; O |
(Не знаю, стоит ли мне вызывать этот пользовательский хук или функционал ho c хотя)
У меня есть компонент MessageList, который отображает SimpleMessage, завернутый в WithAvatarHeader. Вот результат моего профилировщика:
Каждый раз, когда я добавляю сообщение в список, все сообщения отображаются снова.
Этого не происходит, когда я Используйте SimpleMessage только в MessageList
Есть ли способ создания заметок (WithAvatarHeader)?
MessageList:
import React from "react";
import SimpleMessage from "./SimpleMessage";
import WithAvatarHeader from "./WithAvatarHeader";
const MessageList = props => {
const Message = WithAvatarHeader(SimpleMessage);
return (
<div className="message-list">
{props.messages.map(message => {
return <Message message={message} key={message._id}/>;
})}
</div>
);
};
SimpleMessage:
import React, { memo } from "react";
const SimpleMessage = props => {
return (
<div className="simple-message">
{props.message}
</div>
);
};
export default memo(SimpleMessage);
WithAvatarHeader :
import React from "react";
const WithAvatarHeader = WrappedComponent => props => {
return <WrappedComponent {...props} />;
};
export default WithAvatarHeader;
Спасибо за помощь: -)