Skip to content

Commit 6b7715e

Browse files
committed
fix: optimize the message list store usage
1 parent cc6ab46 commit 6b7715e

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed

package/src/components/Channel/Channel.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -771,7 +771,7 @@ const ChannelWithContext = (props: PropsWithChildren<ChannelPropsWithContext>) =
771771
const [thread, setThread] = useState<LocalMessage | null>(threadProps || null);
772772
const [threadHasMore, setThreadHasMore] = useState(true);
773773
const [threadLoadingMore, setThreadLoadingMore] = useState(false);
774-
const channelUnreadStateStore = useMemo(() => new ChannelUnreadStateStore(), []);
774+
const [channelUnreadStateStore] = useState(new ChannelUnreadStateStore());
775775
const setChannelUnreadState = useCallback(
776776
(data: ChannelUnreadStateStoreType['channelUnreadState']) => {
777777
channelUnreadStateStore.channelUnreadState = data;

package/src/components/MessageList/hooks/useMessageList.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useEffect, useMemo, useRef } from 'react';
1+
import { useEffect, useMemo, useRef, useState } from 'react';
22

33
import type { LocalMessage } from 'stream-chat';
44

@@ -70,6 +70,9 @@ export const useMessageList = (params: UseMessageListParams) => {
7070
const { messages, viewabilityChangedCallback } = usePaginatedMessageListContext();
7171
const { threadMessages } = useThreadContext();
7272
const messageList = threadList ? threadMessages : messages;
73+
const [messageListPreviousAndNextMessageStore] = useState(
74+
() => new MessagePreviousAndNextMessageStore(),
75+
);
7376

7477
const filteredMessageList = useMemo(() => {
7578
const filteredMessages = [];
@@ -86,11 +89,6 @@ export const useMessageList = (params: UseMessageListParams) => {
8689
return filteredMessages;
8790
}, [messageList, deletedMessagesVisibilityType, client.userID]);
8891

89-
const messageListPreviousAndNextMessageStore = useMemo(
90-
() => new MessagePreviousAndNextMessageStore(),
91-
[],
92-
);
93-
9492
useEffect(() => {
9593
messageListPreviousAndNextMessageStore.setMessageListPreviousAndNextMessage(
9694
filteredMessageList,

0 commit comments

Comments
 (0)