Skip to content

[fix] jsx helper calls order#10307

Merged
nicolo-ribaudo merged 1 commit intobabel:masterfrom
Sinewyk:fix_jsx_help_default_props_after_children
Aug 8, 2019
Merged

[fix] jsx helper calls order#10307
nicolo-ribaudo merged 1 commit intobabel:masterfrom
Sinewyk:fix_jsx_help_default_props_after_children

Conversation

@Sinewyk
Copy link
Copy Markdown
Contributor

@Sinewyk Sinewyk commented Aug 8, 2019

Q                       A
Fixed Issues? N/A
Patch: Bug Fix? Yes
Major: Breaking Change? No
Minor: New Feature? No
Tests Added + Pass? Yes
Documentation PR Link
Any Dependency Changes?
License MIT

The jsx helper used in the babel-plugin-transform-react-inline-elements was actually not perfectly imitating the react behavior as seen here.

In particular, the order is resolve the children, then resolve the defaultProps. Not the opposite.

I had a bug with defaultProps: { children: null } that was appearing only when in production (when using the babel-plugin-transform-react-inline-elements), my children were undefined (which is an invariant error) even though I had defaultProps. This is the reason.

imitate properly react createElement calls order
@babel-bot
Copy link
Copy Markdown
Collaborator

Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/11291/

Copy link
Copy Markdown
Member

@nicolo-ribaudo nicolo-ribaudo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@JLHwung JLHwung added area: jsx PR: Bug Fix 🐛 A type of pull request used for our changelog categories labels Aug 8, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area: jsx outdated A closed issue/PR that is archived due to age. Recommended to make a new issue PR: Bug Fix 🐛 A type of pull request used for our changelog categories

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants