-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Remove deprecated componentWillReceiveProps from TinyMCE component #11368
Conversation
4610cef
to
47fac11
Compare
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 feels wrong for obvious reasons, but I think it highlights how the role of the TinyMCE component has ballooned from its original purpose and does more than it probably should, and that React doesn't really otherwise provide support for reconciliation of contentEditable
fields.
I might like to see some inline comment which informs the future maintainer to this rationale for breaking best practices in introducing side effects to shouldComponentUpdate
.
Supersedes #8148 |
Before doing this, I tried a number of other things, including making a subcomponent that would just be Either that, or I wish React would simply ignore contentEditable children entirely (with or without prop to enable). |
@aduth Sorry, I read over the last line. :/ Shall I make a follow-up PR? |
…rnmobile/port-quote-block-step-1 * 'master' of https://github.com/WordPress/gutenberg: (22 commits) Add removed periods to block descriptions. (#11367) Remove findDOMNode usage from the inserter (#11363) Remove deprecated componentWillReceiveProps from TinyMCE component (#11368) Create file blocks when dropping multiple files at once (#11297) Try avoiding the deprecated findDOMNode API from DropZone Provider (#11168) Fix: make meta+A behaviour of selecting all blocks work on safari and firefox. (#8180) Remove _wpGutenbergCodeEditorSettings and wp.codeEditor assets (#11342) Remove the Cloudflare warning (#11350) Image Block: Use source_url for media file link (#11254) Enhance styling of nextpage block using the Hr element (#11354) Embed block refactor and tidy (#10958) Nonce Middleware: Wrap the nonce middleware function into it's own function that isn't regenerated on every API request. (#11347) Fix RTL block alignments (#11293) RichText: fix buggy enter/delete behaviour (#11287) Remove code coverage setup (#11198) Parser: Runs all parser implementations against the same tests (#11320) Stop trying to autosave when title and classic block content both are empty. (#10404) Fix "Mac OS" typo + use fancy quotes consistently (#11310) Update documentation link paths (#11324) Editor: Reshape blocks state under own key (#11315) ... # Conflicts: # gutenberg-mobile
It'd be good to have. I'd also not mind a direct-to-master commit if all it contains is a code comment. |
Description
See #11360. Removes
componentWillReceiveProps
by doing all updates duringshouldComponentUpdate
. Normally this should only returnboolean
without side effects, but since we're doing our own reconciliation within this component, I think it's fine to useshouldComponentUpdate
to figure out what should be updated.@aduth @youknowriad Do you think this is fine?
How has this been tested?
Make sure placeholders display correctly, aria props, className and styles update.
Screenshots
Types of changes
Checklist: