我可能错过了装载机吗?我认为我们应该能够在组件体中使用这些ES6函数,以避免必须执行.bind(this)
语法反应文档
ERROR in ./client/admin-side/components/Form.jsx
Module build failed: SyntaxError: Unexpected token (15:17)
14 |
> 15 | handleChange = (event) => {
| ^
16 | this.setState({value: event.target.value})
17 | }
Run Code Online (Sandbox Code Playgroud)
我的.babelrc有以下内容:
{
"presets": ["env", "react"],
"plugins": ["transform-object-rest-spread"]
}
Run Code Online (Sandbox Code Playgroud)
我正在使用babel-loader
js/jsx文件
Shu*_*tri 14
您需要transform-class-properties plugin
使用类字段,您可以像安装它一样
npm install --save-dev babel-plugin-transform-class-properties
Run Code Online (Sandbox Code Playgroud)
并将其用作插件
{
"presets": ["env", "react"],
"plugins": ["transform-object-rest-spread", "transform-class-properties"]
}
Run Code Online (Sandbox Code Playgroud)
transform-object-rest-spread
用于其余扩展语法,如
const {a, b, ...rest} = this.props
Run Code Online (Sandbox Code Playgroud)
根据文件:
这提出了两个相关的提议:
"class instance fields"
和"class static fields"
.
"Class instance fields"
描述要存在于类实例上的属性(并且可以选择包括所述属性的初始化表达式).
"Class static fields"
是类对象本身上存在的声明性属性(并且可以选择包括所述属性的初始化表达式).该提案目前处于第2阶段.
您也可以通过安装使用预设stage-2来解决这个问题
npm install --save-dev babel-preset-stage-2
Run Code Online (Sandbox Code Playgroud)
并使用它像
{
"presets": ["env", "react", "stage-2"],
"plugins": ["transform-object-rest-spread"]
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2548 次 |
最近记录: |