【问题标题】:ES7 static causing ESLint Parsing Error: Unexpected token =ES7 static 导致 ESLint Parsing Error: Unexpected token =
【发布时间】:2016-10-01 17:53:31
【问题描述】:

晚上好!在 React 组件中对以下 ES7 代码进行 linting 时,我正在对我的代码进行 linting 并且有一个 Parsing error: Unexpected token =

static contextTypes = {
    router: PropTypes.object
}

组件是基于类的组件:

class Transactions extends Component {

我已将babel-eslint 添加到我的eslintrc.json 文件中:

{
  "parser": "babel-eslint",
  "plugins": [
    "react",
    "react-native"
  ],
  "ecmaFeatures": {
    "jsx": true
  },
  "extends": ["standard", "standard-react"]
}

依赖的版本在我的package.json中设置如下:

"babel-eslint": "^6.0.4",
"eslint-plugin-babel": "^3.2.0",
"eslint-plugin-react": "^5.0.1",
"eslint": "^2.2.0",
"eslint-config-standard": "^5.1.0",
"eslint-config-standard-jsx": "^1.1.1",
"eslint-config-standard-react": "^2.3.0",
"eslint-loader": "^1.3.0",
"eslint-plugin-promise": "^1.0.8",
"eslint-plugin-react": "^4.1.0",
"eslint-plugin-standard": "^1.3.2"

任何想法都是好的,除了使用babel-eslint作为解析器之外,还在网上努力寻找解决方案。

谢谢你:-)

【问题讨论】:

  • 它不是 ES7,而是你的配置激活的实验性 babel 插件。 Eslint 不会喜欢它(至少在默认设置下)
  • 嘿@Bergi - 谢谢 - 具体是哪个插件?你知道我需要做什么吗?谢谢
  • babeljs.io/docs/plugins/transform-class-propertiesiirc,可能是react的依赖。
  • 我没有使用那个插件。
  • 但是您正在使用它的功能?即使您没有明确启用它,它也必须是您设置中的一部分。不过你可以easily avoid the syntax

标签: javascript eslint


【解决方案1】:

你应该把你的 contextTypes 放在你的类之外。

例子:

class Transactions extends Component {
   ....
   ....
}

Transactions.contextTypes = {
    router: PropTypes.object
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 2022-12-03
    • 2017-06-10
    • 1970-01-01
    • 2014-04-26
    • 2018-05-10
    • 1970-01-01
    相关资源
    最近更新 更多