Skip to content

Commit 3b3d4e6

Browse files
committed
fix: wrap creation in separate callback
1 parent 22f7e6c commit 3b3d4e6

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

package/src/components/ChannelList/ChannelList.tsx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -273,18 +273,22 @@ export const ChannelList = <
273273

274274
const [forceUpdate, setForceUpdate] = useState(0);
275275
const { client, enableOfflineSupport } = useChatContext<StreamChatGenerics>();
276+
const createChannelManager = useCallback(
277+
() => client.createChannelManager({ options: { lockChannelOrder } }),
278+
[client, lockChannelOrder],
279+
);
280+
const clientManagerRef = useRef(createChannelManager);
276281
const [channelManager, setChannelManager] = useState<ChannelManager<StreamChatGenerics>>(
277-
client.createChannelManager({ options: { lockChannelOrder } }),
282+
createChannelManager(),
278283
);
279-
const clientRef = useRef(client);
280284

281285
useEffect(() => {
282-
if (clientRef.current !== client) {
283-
const manager = client.createChannelManager({ options: { lockChannelOrder } });
286+
if (clientManagerRef.current !== createChannelManager) {
287+
const manager = createChannelManager();
284288
setChannelManager(manager);
285-
clientRef.current = client;
289+
clientManagerRef.current = createChannelManager;
286290
}
287-
}, [client, lockChannelOrder]);
291+
}, [createChannelManager]);
288292

289293
useEffect(() => {
290294
channelManager.registerSubscriptions();

0 commit comments

Comments
 (0)