class 中的 ESLint 使用 airbnb 规则带有粗箭头

ESLint in class with fat arrow using airbnb rules

以下代码位于扩展 React.Component

的 class 中
  nextState = () => {
    this.setState({
      state : this.state.state + 1
    });
  };

然而,带有 airbnb 规则的 ESLint 捕获了这个并抛出以下错误: error Parsing error: Unexpected token =

我想保留此语法,因为它允许我避免在构造函数中绑定 this

您需要指定语言选项。供参考:http://eslint.org/docs/user-guide/configuring#specifying-language-options

您也可以在 .eslintrc 文件中使用一个命令来完成此操作。

{
    "env": {
        "es6": true,
        "node": true
    }
}

我为这个问题苦恼了好一阵子。 我发现 .eslintrc 的这种配置适用于您的问题。

{
  "extends": "airbnb",
  "parser": "babel-eslint"
}

它与带有 SublimeLinter-contrib-eslint 的 Sublime Text 3 配合得很好。

请注意,您需要npm install -g eslint babel-eslint

.eslintrc放入~/进行全局配置,将.eslintrc放入app文件夹覆盖全局配置。

还要注意:里面的赋值操作class不是es6的一部分,看这个link讨论