Неожиданный токен = для первой функции в классе React JS - PullRequest
0 голосов
/ 16 октября 2018

Этот код работает хорошо, просто раздражает постоянно видеть эту ошибку.

Так что это очень большая ошибка с babel-sublime, а также есть открытая проблема, но пока нет ответа,Ссылка на проблему: https://github.com/babel/babel-sublime/issues/363.

Проблема в том, что когда вы создаете класс в ReactJs, а затем создаете две функции внутри этого класса, первая из них будет окрашена в виде ошибки, говорящей:

Неожиданный токен = (ноль)

Вторая функция не имеет ошибок, всегда первая.Обратите внимание, что это функции стрелок.

Этот код будет работать в Sublime Text 3 с установленным пакетом babel-sublime:

    import React, { Component } from 'react';
    class MyComponent extends Component {
        firstFunction = () => {
            return false;
        }
        secondFunction = () => {
            return false;
        }
        thirdFunction = () => {
            return false;
        }
        render() {
            return(
                <div>
                    Component
                </div>
            );
        }
    }
    export default MyComponent;

Независимо от того, какую тему или цветовую схему вы используете, эта ошибкабудет присутствовать.Я поместил здесь скриншот, чтобы вы могли видеть другой цвет от первой функции, второй и т. Д. (На скриншоте нет ошибок, потому что я деактивировал его в правилах линтера).

enter image description here

РЕДАКТИРОВАТЬ: Я помещаю мое содержимое .eslintrc для вас, чтобы увидеть, если что-то делает эту ошибку.

{
  "parser": "babel-eslint",
  "ecmaFeatures": {
    "modules": true,
    "arrowFunctions": true,
    "classes": true
  },
  "env": {
    "node": true,
    "browser": true,
    "es6": true,
  },
  "rules": {
    "no-console": 0,
    "no-mixed-spaces-and-tabs": 0,
    "react/prop-types": 0,
    "react/no-unescaped-entities": 0,
    "react/no-string-refs": 0,
    "no-useless-escape": 0,
    "no-irregular-whitespace": 0,
    "strict": 0
  },
  "extends": [
    "eslint:recommended",
    "plugin:react/recommended",
  ],
  "parserOptions": {
      ecmaVersion: 6,
      ecmaFeatures: {
          jsx: true,
      },
      sourceType: "module"
  },
}

1 Ответ

0 голосов
/ 16 октября 2018

Вы пытались проверить здесь?https://github.com/babel/babel-loader/issues/479

Вы также пытались включить babel-eslint в вашем файле .eslintrc?Попробуйте установить его из

$ npm install eslint@4.x babel-eslint@8 --save-dev

или

$ yarn add eslint@4.x babel-eslint@8 -D

, затем включите эту конфигурацию в файл конфигурации eslint (.eslintrc)

{
  "parser": "babel-eslint",
  "rules": {
    "strict": 0
  }
}

Хотелось бы, чтобы это помогло!

...