错误eslint解析:意外的令牌eslint错误

时间:2019-08-20 00:08:31

标签: javascript react-native ecmascript-6 eslint ecmascript-7

我在方括号中得到了意外的令牌。

我尝试设置eslint参数并安装babel-eslint,但对我没有任何帮助。

const [state,dispatch] = useReducer(createUserReducer, 
  {
    email: '',
    password: '',
    verifyPassword: ''
   });


my eslint configuration: 

{
  "parser": "babel-eslint",
  "parserOptions": {
    "ecmaVersion": 6,
    "sourceType": "module",
    "ecmaFeatures": {
      "jsx": true,
      "modules": true,
      "blockBindings": true,
      "experimentalObjectRestSpread": true
    }
  },
  "extends": "rallycoding",
  "rules": {
    "react/require-extension": "off",
    "global-require": 0,
    "no-unused-vars": 0,
    "unexpected-token": 0
  }
}

我应该能够构建代码,但是eslint抛出错误,提示意外的令牌。

2 个答案:

答案 0 :(得分:1)

请注意,支持JSX的语法与支持React的语法不同。 React将特定语义应用于ESLint无法识别的JSX语法。如果您正在使用eslint-plugin-react并且想要React语义,则建议使用React。同样,支持ES6语法与支持新的ES6全局变量(例如,诸如Set之类的新类型)并不相同。对于ES6语法,请使用{"parserOptions": { "ecmaVersion": 6 } };对于新的ES6全局变量,请使用{ "env": { "es6": true } }

答案 1 :(得分:0)

尝试以下配置:

  

eslintrc.js:

module.exports = {
      root: true,
      "extends": "eslint:recommended",
    };
  

eslintrc.json:

{
    "env": {
        "browser": true,
        "es6": true
    },
    "extends": [
        "google"
    ],
    "globals": {
        "Atomics": "readonly",
        "SharedArrayBuffer": "readonly"
    },
    "parserOptions": {
        "ecmaFeatures": {
            "jsx": true
        },
        "ecmaVersion": 2018,
        "sourceType": "module"
    },
    "plugins": [
        "react"
    ],
    "rules": {
    }
}