Optimise re-renders when scrolling / updating messages.

This commit is contained in:
Paul
2021-06-23 16:14:46 +01:00
parent 11c524d6a9
commit 0ce77951cb
4 changed files with 68 additions and 24 deletions

View File

@@ -12,6 +12,7 @@ import MessageBase, { MessageContent, MessageDetail, MessageInfo } from "./Messa
import Overline from "../../ui/Overline";
import { useContext } from "preact/hooks";
import { AppContext } from "../../../context/revoltjs/RevoltClient";
import { memo } from "preact/compat";
interface Props {
attachContext?: boolean
@@ -22,7 +23,7 @@ interface Props {
head?: boolean
}
export default function Message({ attachContext, message, contrast, content: replacement, head: preferHead, queued }: Props) {
function Message({ attachContext, message, contrast, content: replacement, head: preferHead, queued }: Props) {
// TODO: Can improve re-renders here by providing a list
// TODO: of dependencies. We only need to update on u/avatar.
const user = useUser(message.author);
@@ -58,3 +59,5 @@ export default function Message({ attachContext, message, contrast, content: rep
</MessageBase>
)
}
export default memo(Message);