-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Block editor: selectors: avoid has() or double get() on Maps #58372
Conversation
Size Change: -26 B (0%) Total Size: 1.7 MB
ℹ️ View Unchanged
|
@@ -2737,8 +2731,7 @@ export const __unstableGetContentLockingParent = createSelector( | |||
( state, clientId ) => { | |||
let current = clientId; | |||
let result; | |||
while ( state.blocks.parents.has( current ) ) { | |||
current = state.blocks.parents.get( current ); | |||
while ( ( current = current = state.blocks.parents.get( current ) ) ) { | |||
if ( | |||
( current && |
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 is strange. There is a typo in current = current = ...
, but also why is there this if ( current )
check, if the while
condition already ruled it out?
It's almost like null
or undefined
were valid values in the map. Then has( current )
is true, but get( current )
is falsy.
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.
Whoops, that's a typo!
Flaky tests detected in 45aeb7a. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/7695450667
|
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.
LGTM 👍
What?
Some small optimisations, but I think worth it considering how often these selectors are called.
Why?
How?
Testing Instructions
Testing Instructions for Keyboard
Screenshots or screencast