Bug Report
"@babel/plugin-transform-react-jsx" ^7.10.4
[ "@babel/plugin-transform-react-jsx", { "runtime": "automatic" }]
Current behavior
fallbacked classic runtime when jsx use spread with key exists
_createElement("span", {...obj, key: "key"})
Input Code
<span {...obj} key={"key"} />
Expected behavior
Environment
- Babel version(s): 7.12.0
- Node/npm version: 14.12.0
- OS: [e.g. OSX 10.13.4, Windows 10]
- Monorepo: yes
- How you are using Babel:
cli, register, loader
Possible Solution
may transform codes like
<span key={key} {...obj} /> => jsx("span", obj, key)
<span {...obj} key={key} /> => jsx("span", {...obj, key}, key)
to support https://github.com/babel/babel/blob/master/packages/babel-helper-builder-react-jsx-experimental/src/index.js#L270
it will be friendly for custom jsx-runtime and some react-like lib
Additional context
Bug Report
"@babel/plugin-transform-react-jsx" ^7.10.4
Current behavior
fallbacked classic runtime when jsx use spread with key exists
Input Code
Expected behavior
Environment
cli,register,loaderPossible Solution
may transform codes like
<span key={key} {...obj} />=>jsx("span", obj, key)<span {...obj} key={key} />=>jsx("span", {...obj, key}, key)to support https://github.com/babel/babel/blob/master/packages/babel-helper-builder-react-jsx-experimental/src/index.js#L270
it will be friendly for custom
jsx-runtimeand some react-like libAdditional context