为什么我不能在JSX中以这种方式使用三元运算符和箭头函数?

ube*_*001 5 javascript jsx reactjs babeljs

使用babel-preset-react(编辑:babel版本:) v6.26.0,以下表达式失败并显示错误" Invalid left-hand side in arrow function parameters"(尝试使用babel repl):

true ? ("test") : x => 42      //FAILS, but only with `babel-preset-react`
Run Code Online (Sandbox Code Playgroud)

然而,它有一个很小的修改:

true ? "test" : x => 42        //works fine
Run Code Online (Sandbox Code Playgroud)

这两种情况在看似任何其他配置中都可以正常工作.

这是一个错误吗?或者有什么东西作为JSX解析的一部分导致这种情况发生?

ube*_*001 1

这是一个错误。我在 babel github 页面上创建了一个问题:babel/babel#7234。它已在 Babel 7 中修复。