11import { useRoute } from '@react-navigation/native' ;
2- import React , { useCallback , useMemo } from 'react' ;
2+ import React , { memo , useCallback , useMemo } from 'react' ;
33import type { GestureResponderEvent } from 'react-native' ;
44import { usePersonalDetails , useSession } from '@components/OnyxListItemProvider' ;
55import PressableWithoutFeedback from '@components/Pressable/PressableWithoutFeedback' ;
@@ -68,7 +68,7 @@ function TransactionPreview(props: TransactionPreviewProps) {
6868 const sessionAccountID = session ?. accountID ;
6969 const areThereDuplicates = allDuplicateIDs . length > 0 && duplicates . length > 0 && allDuplicateIDs . length === duplicates . length ;
7070
71- const transactionDetails = useMemo ( ( ) => getTransactionDetails ( transaction ) , [ transaction ] ) ;
71+ const transactionDetails = getTransactionDetails ( transaction ) ;
7272 const { amount : requestAmount , currency : requestCurrency } = transactionDetails ?? { } ;
7373
7474 const showContextMenu = ( event : GestureResponderEvent ) => {
@@ -83,11 +83,10 @@ function TransactionPreview(props: TransactionPreviewProps) {
8383 clearIOUError ( chatReportID ) ;
8484 } , [ chatReportID ] ) ;
8585
86- const navigateToReviewFields = useCallback ( ( ) => {
86+ const navigateToReviewFields = ( ) =>
8787 Navigation . navigate (
8888 getReviewNavigationRoute ( Navigation . getActiveRoute ( ) , route . params ?. threadReportID , transaction , duplicates , policy , policyCategories , policyTags ?? { } , transactionReport ) ,
8989 ) ;
90- } , [ route . params ?. threadReportID , transaction , duplicates , policy , policyCategories , policyTags , transactionReport ] ) ;
9190
9291 const transactionPreview = transaction ;
9392
@@ -163,4 +162,4 @@ function TransactionPreview(props: TransactionPreviewProps) {
163162 ) ;
164163}
165164
166- export default TransactionPreview ;
165+ export default memo ( TransactionPreview ) ;
0 commit comments