Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Patterns: move mapping of values from core-data selector into consumers #54576
Patterns: move mapping of values from core-data selector into consumers #54576
Changes from 4 commits
f86378c
e15693d
a9342c4
fb85e2d
57d6950
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will still return a new value every time
mapSelect
is called. You should see the sameuseSelect
notice where this hook is used.We should generally avoid mapping/grouping the items inside the selectors to avoid bugs like #53596.
P.S. The
usePatterns
already had this issue, and I've left a comment on the original PR. Cc @kevin940726.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Appreciate you following up on the useSelect notices here @Mamaduka 👍
I was hoping to have a look into these this afternoon.
Fixing up
use-pattern-details.js
is pretty straightforward, it might take me a bit longer to untangle theusePatterns
hook though.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@aaronrobertshaw, yes, the
usePatterns
will take more refactoring to untangle :(There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll throw up a PR for
usePatternDetails
shortly so that small chunk isn't held up by the larger refactor.Edit: Initial PR is available - #54584
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @Mamaduka! I knew that there was a ping from you but I couldn't remember where 😅.
Yeah, the
use-patterns
one was my bad, but I don't think it's the bottleneck in most cases. Re-renders aren't bad IMO, only when the computation is heavy.However, I agree we can optimize it, usually done by memoizing intermediate results. I'm looking into ways to memoize the selected data using
rememo
and let's see if it helps!There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kevin940726 is already working on
usePatterns
so I'll aim to help him on that front.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you both! Happy to help out with testing/reviews.