Make ReactDOM.createPortal() official #10675
Merged
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.
We might later want to move portal creation to
React
API that would be renderer-agnostic and work across renderers but it's likely that it will be a superset of the current API.So we might as well call the current API "stable". Especially because it's the only migration path for top-level render returning
null
inside a batch in 16.See individual commits. I added validation because otherwise you get a very confusing error when you pass something else. Also helps us make it clear it's currently not supported by SSR.
Open question: what happens if you do
{isClient && ReactDOM.createPortal(...)}
? Does it cause a mismatch on initial render? I don't know. Worth checking.