-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[HOLD for payment 2024-07-05] [$250] [LOW] [Performance] Memoize the bottom tab component #43491
Comments
Triggered auto assignment to @jliexpensify ( |
@rezkiy37 will handle it |
Job added to Upwork: https://www.upwork.com/jobs/~01c88d87fb5aadb399 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @akinwale ( |
Hi, I’m Michael (Mykhailo) from Callstack and I would like to work on this issue. |
📣 @akinwale 🎉 An offer has been automatically sent to your Upwork account for the Reviewer role 🎉 Thanks for contributing to the Expensify app! |
I've opened a PR - #43495. |
This issue has not been updated in over 15 days. @akinwale, @jliexpensify, @mountiny, @rezkiy37 eroding to Monthly issue. P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do! |
@jliexpensify this is ready for payment $250 to @akinwale No regression tests required |
Cheers Vit, paid and job closed. |
Coming from Slack here
Problem
BottomTabBar re-renders a few times because of the parent component. It takes pretty much a time to update around 60ms on each re-render.
Solution
Use
React.memo
for the component to re-render only when necessary.Before: 253ms (all rerenders, 5) / After: 105ms around 141% of improvement.
A commit is here. I am attaching screenshots with the legacy (the 1st) and updated (the 2nd) versions.
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @jliexpensifyThe text was updated successfully, but these errors were encountered: