Skip to content

Commit 423fc93

Browse files
authored
Merge pull request #43384 from callstack-internal/Opening-a-transaction-thread-can-be-slow-to-load-sometimes
Opening a transaction thread can be slow to load sometimes
2 parents ab7060c + 09f1c8d commit 423fc93

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/components/ReportActionItem/MoneyRequestPreview/MoneyRequestPreviewContent.tsx

+8-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import * as OptionsListUtils from '@libs/OptionsListUtils';
2828
import * as ReceiptUtils from '@libs/ReceiptUtils';
2929
import * as ReportActionsUtils from '@libs/ReportActionsUtils';
3030
import * as ReportUtils from '@libs/ReportUtils';
31+
import type {TransactionDetails} from '@libs/ReportUtils';
3132
import StringUtils from '@libs/StringUtils';
3233
import * as TransactionUtils from '@libs/TransactionUtils';
3334
import ViolationsUtils from '@libs/Violations/ViolationsUtils';
@@ -83,7 +84,13 @@ function MoneyRequestPreviewContent({
8384
// Pay button should only be visible to the manager of the report.
8485
const isCurrentUserManager = managerID === sessionAccountID;
8586

86-
const {amount: requestAmount, currency: requestCurrency, comment: requestComment, merchant} = ReportUtils.getTransactionDetails(transaction) ?? {};
87+
const {
88+
amount: requestAmount,
89+
currency: requestCurrency,
90+
comment: requestComment,
91+
merchant,
92+
} = useMemo<Partial<TransactionDetails>>(() => ReportUtils.getTransactionDetails(transaction) ?? {}, [transaction]);
93+
8794
const description = truncate(StringUtils.lineBreaksToSpaces(requestComment), {length: CONST.REQUEST_PREVIEW.MAX_LENGTH});
8895
const requestMerchant = truncate(merchant, {length: CONST.REQUEST_PREVIEW.MAX_LENGTH});
8996
const hasReceipt = TransactionUtils.hasReceipt(transaction);

src/components/ReportActionItem/MoneyRequestView.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import {isTaxTrackingEnabled} from '@libs/PolicyUtils';
2828
import * as ReceiptUtils from '@libs/ReceiptUtils';
2929
import * as ReportActionsUtils from '@libs/ReportActionsUtils';
3030
import * as ReportUtils from '@libs/ReportUtils';
31+
import type {TransactionDetails} from '@libs/ReportUtils';
3132
import * as TransactionUtils from '@libs/TransactionUtils';
3233
import ViolationsUtils from '@libs/Violations/ViolationsUtils';
3334
import Navigation from '@navigation/Navigation';
@@ -115,7 +116,7 @@ function MoneyRequestView({
115116
originalAmount: transactionOriginalAmount,
116117
originalCurrency: transactionOriginalCurrency,
117118
cardID: transactionCardID,
118-
} = ReportUtils.getTransactionDetails(transaction) ?? {};
119+
} = useMemo<Partial<TransactionDetails>>(() => ReportUtils.getTransactionDetails(transaction) ?? {}, [transaction]);
119120
const isEmptyMerchant = transactionMerchant === '' || transactionMerchant === CONST.TRANSACTION.PARTIAL_TRANSACTION_MERCHANT;
120121
const isDistanceRequest = TransactionUtils.isDistanceRequest(transaction);
121122
const formattedTransactionAmount = transactionAmount ? CurrencyUtils.convertToDisplayString(transactionAmount, transactionCurrency) : '';

0 commit comments

Comments
 (0)