Skip to content

Commit a0e28a1

Browse files
committed
perf: optimize prop for messagelist
1 parent d753eeb commit a0e28a1

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

examples/SampleApp/src/screens/ChannelScreen.tsx

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useEffect, useState } from 'react';
1+
import React, { useCallback, useEffect, useState } from 'react';
22
import type { Channel as StreamChatChannel } from 'stream-chat';
33
import { RouteProp, useFocusEffect, useNavigation } from '@react-navigation/native';
44
import {
@@ -142,6 +142,14 @@ export const ChannelScreen: React.FC<ChannelScreenProps> = ({
142142
setSelectedThread(undefined);
143143
});
144144

145+
const onThreadSelect = useCallback((thread) => {
146+
setSelectedThread(thread);
147+
navigation.navigate('ThreadScreen', {
148+
channel,
149+
thread,
150+
});
151+
}, [channel, navigation]);
152+
145153
if (!channel || !chatClient) {
146154
return null;
147155
}
@@ -161,13 +169,7 @@ export const ChannelScreen: React.FC<ChannelScreenProps> = ({
161169
>
162170
<ChannelHeader channel={channel} />
163171
<MessageList<StreamChatGenerics>
164-
onThreadSelect={(thread) => {
165-
setSelectedThread(thread);
166-
navigation.navigate('ThreadScreen', {
167-
channel,
168-
thread,
169-
});
170-
}}
172+
onThreadSelect={onThreadSelect}
171173
/>
172174
<AITypingIndicatorView channel={channel} />
173175
<MessageInput />

0 commit comments

Comments
 (0)