[Perf] Message List: Avoid layout effect during animation

This commit is contained in:
Alexander Zinchuk 2023-05-28 14:32:31 +02:00
parent 577d055d68
commit f42c013efa

View File

@ -422,6 +422,16 @@ const MessageList: FC<OwnProps & StateProps> = ({
const prevContainerHeight = prevContainerHeightRef.current;
prevContainerHeightRef.current = containerHeight;
// Skip initial resize observer callback
if (
messageIds === prevMessageIds
&& isViewportNewest === prevIsViewportNewest
&& containerHeight !== prevContainerHeight
&& prevContainerHeight === undefined
) {
return;
}
const container = containerRef.current!;
listItemElementsRef.current = Array.from(container.querySelectorAll<HTMLDivElement>('.message-list-item'));
const lastItemElement = listItemElementsRef.current[listItemElementsRef.current.length - 1];