Skip to content

Commit dafcad2

Browse files
committed
fix: memoize some values to prevent recalculations
1 parent 723cf91 commit dafcad2

File tree

1 file changed

+14
-12
lines changed
  • web/src/pages/Courts/CourtDetails/StakePanel/SimulatorPopup

1 file changed

+14
-12
lines changed

web/src/pages/Courts/CourtDetails/StakePanel/SimulatorPopup/index.tsx

+14-12
Original file line numberDiff line numberDiff line change
@@ -150,18 +150,20 @@ const SimulatorPopup: React.FC<ISimulatorPopup> = ({ amountToStake, isStaking })
150150
const currentTreeDisputesPerPnk = foundCourt?.treeDisputesPerPnk;
151151
const currentTreeExpectedRewardPerPnk = foundCourt?.treeExpectedRewardPerPnk;
152152

153-
const totalVotes =
154-
!isUndefined(courtCurrentEffectiveStake) && !isUndefined(currentTreeVotesPerPnk)
155-
? courtCurrentEffectiveStake * currentTreeVotesPerPnk
156-
: undefined;
157-
const totalCases =
158-
!isUndefined(courtCurrentEffectiveStake) && !isUndefined(currentTreeDisputesPerPnk)
159-
? courtCurrentEffectiveStake * currentTreeDisputesPerPnk
160-
: undefined;
161-
const totalRewards =
162-
!isUndefined(courtCurrentEffectiveStake) && !isUndefined(currentTreeExpectedRewardPerPnk)
163-
? courtCurrentEffectiveStake * currentTreeExpectedRewardPerPnk
164-
: undefined;
153+
const totals = useMemo(() => {
154+
if (isUndefined(courtCurrentEffectiveStake)) return {};
155+
return {
156+
votes: !isUndefined(currentTreeVotesPerPnk) ? courtCurrentEffectiveStake * currentTreeVotesPerPnk : undefined,
157+
cases: !isUndefined(currentTreeDisputesPerPnk)
158+
? courtCurrentEffectiveStake * currentTreeDisputesPerPnk
159+
: undefined,
160+
rewards: !isUndefined(currentTreeExpectedRewardPerPnk)
161+
? courtCurrentEffectiveStake * currentTreeExpectedRewardPerPnk
162+
: undefined,
163+
};
164+
}, [courtCurrentEffectiveStake, currentTreeVotesPerPnk, currentTreeDisputesPerPnk, currentTreeExpectedRewardPerPnk]);
165+
166+
const { votes: totalVotes, cases: totalCases, rewards: totalRewards } = totals;
165167

166168
const courtFutureEffectiveStake = !isUndefined(courtCurrentEffectiveStake)
167169
? Math.max(isStaking ? courtCurrentEffectiveStake + amountToStake : courtCurrentEffectiveStake - amountToStake, 0)

0 commit comments

Comments
 (0)