Skip to content

Commit 095f724

Browse files
authored
Merge pull request Expensify#88417 from software-mansion-labs/@OlGierd03/perf-improve-IOURequestStepMerchant-marchant-onyx-update
Limit re-renders after a merchant change while on the Search page
2 parents e2d048b + ec32dbb commit 095f724

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

src/pages/iou/request/step/IOURequestStepMerchant.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,9 @@ function IOURequestStepMerchant({
124124
shouldNavigateAfterSaveRef.current = true;
125125
return;
126126
}
127-
setMoneyRequestMerchant(transactionID, newMerchant || CONST.TRANSACTION.PARTIAL_TRANSACTION_MERCHANT, !isEditing, hasReceipt(transaction));
127+
// updateMoneyRequestMerchant's optimisticData already sets merchant on TRANSACTION{id},
128+
// also calling setMoneyRequestMerchant would trigger a redundant Onyx commit and
129+
// re-render every subscriber of that key for nothing.
128130
if (isEditing) {
129131
updateMoneyRequestMerchant({
130132
transactionID,
@@ -139,6 +141,8 @@ function IOURequestStepMerchant({
139141
isASAPSubmitBetaEnabled,
140142
parentReportNextStep,
141143
});
144+
} else {
145+
setMoneyRequestMerchant(transactionID, newMerchant || CONST.TRANSACTION.PARTIAL_TRANSACTION_MERCHANT, true, hasReceipt(transaction));
142146
}
143147
setIsSaved(true);
144148
shouldNavigateAfterSaveRef.current = true;

0 commit comments

Comments
 (0)