-
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: Optimize the 'useBlockDisplayTitle' hook #58250
Conversation
Size Change: -3 B (0%) Total Size: 1.7 MB
ℹ️ View Unchanged
|
const attributes = getBlockAttributes( clientId ); | ||
const isReusable = isReusableBlock( blockType ); | ||
const reusableBlockTitle = isReusable | ||
? __experimentalGetReusableBlockTitle( attributes.ref ) |
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.
We should probably deprecate this selector and handle the pattern block title via __experimentalLabel
.
cc @talldan, @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.
Note that I'm adjusting this selector here Avoid fetching ALL reusable blocks (user patterns) on post/site editor load
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.
Here's the correct PR link - #58239.
); | ||
|
||
const blockInformation = useBlockDisplayInformation( clientId ); |
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 such a weird selector
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.
In the sense that you might be getting a bunch of info that you don't need
Thanks for the review, @ellatrix! |
…zy-hydration * origin/trunk: (47 commits) Interactivity API: Break up long hydration task in interactivity init (#58227) Add supports.interactivity to Query block (#58316) Font Library: Make notices more consistent (#58180) Fix Global styles text settings bleeding into placeholder component (#58303) Fix the position and size of the Options menu, (#57515) DataViews: Fix safari grid row height issue (#58302) Try a fix (#58282) Navigation Submenu Block: Make block name affect list view (#58296) Apply custom scroll style to fixed header block toolbar (#57444) Add support for transform and letter spacing controls in Global Styles > Typography > Elements (#58142) DataViews: Fix table view cell wrapper and BlockPreviews (#58062) Workflows: Add 'Technical Prototype' to the type-related labels list (#58163) Block Editor: Optimize the 'useBlockDisplayTitle' hook (#58250) Remove noahtallen from .wp-env codeowners (#58283) Global styles revisions: fix is-selected rules from affecting other areas of the editor (#58228) Try: Disable text selection for post content placeholder block. (#58169) Remove `template-only` mode from editor and edit-post packages (#57700) Refactored download/upload logic to support font faces with multiple src assets (#58216) Components: Expand theming support in COLORS (#58097) Implementing new UX for invoking rich text Link UI (#57986) ...
What?
Based on previous work: #32118 and #40004.
PR optimizes the
useBlockDisplayTitle
hook to avoid re-renders when attributes change.The attributes returned from the selector where are used to derive the block title string. This small optimization derives the title inside the selector and prevents unnecessary re-renders.
I have also removed the
useBlockDisplayInformation
usage. How hook directly checks variation match title. This should reduce store subscriptions created by the hook.Testing Instructions
Testing Instructions for Keyboard
Same.
Screenshots or screencast