1- import React , { useEffect , useState } from 'react' ;
1+ import React , { useCallback , useEffect , useState } from 'react' ;
22import type { Channel as StreamChatChannel } from 'stream-chat' ;
33import { RouteProp , useFocusEffect , useNavigation } from '@react-navigation/native' ;
44import {
@@ -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