You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: Prevent rerenders of the AccountListItem (#30873)
## **Description**
The AccountListMenu has been been flagged as slow in the past, so I've
memoized some selectors and child elements to make the menu render much,
much less.
[](https://codespaces.new/MetaMask/metamask-extension/pull/30873?quickstart=1)
## **Related issues**
Fixes:
## **Manual testing steps**
1. Check out `main` branch
2. Start the extension with the `ENABLE_WHY_DID_YOU_RENDER` flag on
3. Open the Account List Menu
4. See *loads* of rerendering of the `AccountListItem` due to 4 props
changing (onClick, closeMenu, etc)
5. Checkout this branch PR
6. Start the extension with the `ENABLE_WHY_DID_YOU_RENDER` flag on
7. Open the Account List Menu
8. See 0 re-renders of the `AccountListItem`
## **Screenshots/Recordings**
<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->
### **Before**
<!-- [screenshots/recordings] -->
### **After**
<!-- [screenshots/recordings] -->
## **Pre-merge author checklist**
- [ ] I've followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask
Extension Coding
Standards](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-extension/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
0 commit comments