不能使用胖箭头功能(ES6)进行反应

时间:2017-01-04 12:44:00

标签: javascript reactjs ecmascript-6

我在使用胖箭头功能时遇到了一些问题。如果该函数不是匿名的,它会抱怨语法并且不会编译。

此:

{{[var for var(*args) in list]}}

给我:

handleItemClick = (e, { name }) => this.setState({ activeItem: name });

它指向等号(handleItemClick'=')。

然而这很好用:

BabelLoaderError: SyntaxError: Unexpected token (20:20)

我的webpack配置有什么问题,或者我错过了什么?感谢任何提示。

onClick={ (arg) => {//Do something} };

1 个答案:

答案 0 :(得分:12)

您正在尝试使用class fields,这些不是ES6的一部分,并且未被es2015覆盖,并会对预设做出反应。

您可以使用Class properties transform babel plugin

启用它
query: {
    presets: ['es2015', 'react'],
    plugins: ["transform-class-properties"]
}   

或者使用包含转换插件的babel stage-2 preset

query: {
    presets: ['es2015', 'react', 'stage-2']
}

不要忘记npm install您选择的那个。