SSR: trust guessedBreakpoint during hydratation #38
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.
As explained in #29, when the breakpoint is wrongly guessed on the server, there is an HTML mismatch during
ReactDom.hydrate()
. When using a CSS-in-JSS technique, this can lead to a completely broken page due to wrong CSS classnames being used.This PR simply solves this issue by letting the developer set the
guessedBreakpoint
on the client as well. Thanks to this, there will be no mismatch during hydratation. Once the app is hydrated, it will be rerendered using the real breakpoint (duringcomponentDidMount()
).There will be a "blinking" effect on load when switching between the guessed breakpoint and the real one (as with current version), but now, there is no mismatch so no risk of unfortunate side-effects anymore.