Cover: Fix isDark state handling to prevent recursive loop in Query Loops#76521
Cover: Fix isDark state handling to prevent recursive loop in Query Loops#76521Swanand01 wants to merge 1 commit into
Conversation
|
Warning: Type of PR label mismatch To merge this PR, it requires exactly 1 label indicating the type of PR. Other labels are optional and not being checked here.
Read more about Type labels in Gutenberg. Don't worry if you don't have the required permissions to add labels; the PR reviewer should be able to help with the task. |
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
What?
Closes #74976
Why?
When a Cover block with
useFeaturedImageis used in a template part within a Query Loop, multiple post instances share the same template attributes. Each post'suseEffectcalculates and tries to persist its ownisDarkvalue to the shared template, causing all instances to re-render in an infinite loop.How?
Store the calculated
isDarkvalue in local component state (computedIsDark) when using featured images, instead of persisting it to template attributes. This allows each post instance to maintain its own dark/light theme without conflicting with others in the loop.Testing Instructions
Detailed testing instructions have been listed here: #74976