Fix issue with single prop added in spread with binary conditional when used with legacy JSX transform in dev env #29925
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.
Summary
The PR fixes #29902
Wrapping part of
createElement()
function with additional check ifconfig
argument value is an object. This check makes sense, because the wrapped code assumes thatconfig
is an object, referring to its properties and usingin
operator for that.With the following kind of code:
config
isfalse
ifisCountButtonActive === false
, so that produces JS error mentioned in the issue. It's fixed by the above-mentioned check.How did you test this change?
I've built react packages with my changes, replaced them in
node_modules
folder of https://github.com/undeletable/jsx-spread-with-react-19-rc app (app using legacy JSX transform; the code above is from there) and ran that app in dev mode.Before the changes:
Same app after the changes: