【发布时间】:2018-06-26 20:10:47
【问题描述】:
使用babel-preset-react(编辑:babel 版本:v6.26.0),以下表达式失败,错误为“Invalid left-hand side in arrow function parameters”(try on babel repl):
true ? ("test") : x => 42 //FAILS, but only with `babel-preset-react`
但只要稍作修改,它就可以工作:
true ? "test" : x => 42 //works fine
这两种情况在看似任何其他配置中都按预期工作。
这是一个错误吗?还是 JSX 解析的一部分导致这种情况发生?
【问题讨论】:
-
这可能与运算符的优先级有关。你能给出一个导致错误的完整示例吗?
-
您在完整示例中寻找什么?我已经尝试将表达式简化为可能的最小示例。
-
这听起来确实像 EcmaScript 解析器的错误,分组括号应该在字符串文字有效的每个位置都有效。但是,jsx 或 typescript 或 flow 可能会出现括号后面的冒号的问题。
-
听起来像一个解析器错误。这行得通吗?
true ? ("test") : (x => 42) -
@ArashMotamedi 无论有没有
babel-preset-react,都可以使用
标签: javascript reactjs babeljs jsx