From 62ff4f248488504b359b3d3be41bc649b9ee46d6 Mon Sep 17 00:00:00 2001 From: Dustin Do Date: Mon, 15 Jul 2024 15:59:41 +0700 Subject: [PATCH] perf(mobile): optimize invalidateQueries on adjust balance & new record (#126) Faster! --- apps/mobile/app/(app)/transaction/new-record.tsx | 14 ++++++++------ apps/mobile/app/(app)/wallet/[walletId].tsx | 12 +++++++++--- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/apps/mobile/app/(app)/transaction/new-record.tsx b/apps/mobile/app/(app)/transaction/new-record.tsx index b5a2a3f4..79ac0f12 100644 --- a/apps/mobile/app/(app)/transaction/new-record.tsx +++ b/apps/mobile/app/(app)/transaction/new-record.tsx @@ -25,12 +25,14 @@ export default function NewRecordScreen() { // toast.success(t(i18n)`Transaction created`) }, async onSettled() { - await queryClient.invalidateQueries({ - queryKey: transactionQueries.all, - }) - await queryClient.invalidateQueries({ - queryKey: walletQueries.list._def, - }) + await Promise.all([ + queryClient.invalidateQueries({ + queryKey: transactionQueries.all, + }), + queryClient.invalidateQueries({ + queryKey: walletQueries.list._def, + }), + ]) }, }) diff --git a/apps/mobile/app/(app)/wallet/[walletId].tsx b/apps/mobile/app/(app)/wallet/[walletId].tsx index b055e5c3..d79afc47 100644 --- a/apps/mobile/app/(app)/wallet/[walletId].tsx +++ b/apps/mobile/app/(app)/wallet/[walletId].tsx @@ -1,6 +1,7 @@ import { Button } from '@/components/ui/button' import { AccountForm } from '@/components/wallet/account-form' import { deleteWallet, updateWallet } from '@/mutations/wallet' +import { transactionQueries } from '@/queries/transaction' import { useWallets, walletQueries } from '@/queries/wallet' import { t } from '@lingui/macro' import { useLingui } from '@lingui/react' @@ -26,9 +27,14 @@ export default function EditAccountScreen() { router.back() }, async onSettled() { - await queryClient.invalidateQueries({ - queryKey: walletQueries._def, - }) + await Promise.all([ + queryClient.invalidateQueries({ + queryKey: walletQueries._def, + }), + queryClient.invalidateQueries({ + queryKey: transactionQueries.all, + }), + ]) }, throwOnError: true, })