Javascript 无法在React组件的let/var中存储箭头函数

Javascript 无法在React组件的let/var中存储箭头函数,javascript,reactjs,ecmascript-6,jsx,babeljs,Javascript,Reactjs,Ecmascript 6,Jsx,Babeljs,我在react中有一个由extends react.component定义的组件。其内部以及渲染方法是: constructor(props, context) { super(props, context); this.state = { open: false, }; } handleClose = () => { //this works this.setState({open: false}); }; handleOpen =

我在react中有一个由extends react.component定义的组件。其内部以及渲染方法是:

constructor(props, context) {
    super(props, context);

    this.state = {
        open: false,
    };
}

handleClose = () => { //this works
    this.setState({open: false});
};

handleOpen = () => { //this works
    this.setState({open: true});
};

let empty = () => {}; // does not work, error  Parsing error:      Unexpected token
如果使用let或const作为任何箭头函数的前缀,我似乎会遇到意外的令牌错误。我是不是遗漏了什么

谢谢

似乎只允许类定义主体中的
方法
静态方法

因此,在这种情况下,赋值语句是不允许的,因此babel出现了
意外标记
错误。

似乎只允许类定义主体中的
方法
静态方法


因此,在这种情况下,不允许使用赋值语句,因此babel出现了异常标记。

阅读类。使用
let
const
不是ES6类定义的可能前缀的一部分

了解类。使用
let
const
不是ES6类定义的可能前缀的一部分

您试图使用实验性ES7功能,并且可能只启用了ES6(也不能在类中使用let或const前缀)。如果您使用的是babel6,那么切换到正确的插件应该很简单。从基本相同的问题中可以看到这个答案:

您试图使用实验性ES7功能,并且可能只启用了ES6(而且您不能在类中使用let或const前缀)。如果您使用的是babel6,那么切换到正确的插件应该很简单。从基本相同的问题中可以看到这个答案:

您似乎正在利用。建议的语法是:


如您所见,没有
let
const
var
<代码>让空=()=>{}不起作用,因为它不是有效的语法,正如错误消息告诉您的那样。

您似乎正在使用。建议的语法是:

如您所见,没有
let
const
var
<代码>让空=()=>{}不起作用,因为它不是有效的语法,就像错误消息告诉您的那样。

“我在这里遗漏了什么吗?”它根本不是有效的语法。不知道你希望得到什么样的答案……“我在这里遗漏了什么吗?”这根本不是有效的语法。不知道你希望得到什么样的答案。。。
class ClassWithoutInits {
  myProp;
}

class ClassWithInits {
  myProp = 42;
}