EsLint неверно интерпретирует операторы импорта в no-unused-vars - PullRequest
0 голосов
/ 06 августа 2020

У меня обычный код react:

import React from 'react';
import Header from '../components/Common/Header';

// ...
header: (props) => <Header {...props} />
// ...other code

Я просто хотел показать, что все imports используются, но по-прежнему дают ложную ошибку.

I Я использую правило ESlint config no-unused-vars, но, к сожалению, оно делает следующее:

E:\React\sg_app\src\containers\Todo\TodoScreen.js
  1:8   error  'React' is defined but never used                 no-unused-vars
  2:10  error  'View' is defined but never used                  no-unused-vars
  2:28  error  'StatusBar' is defined but never used             no-unused-vars
  5:8   error  'TodoFilter' is defined but never used            no-unused-vars
  6:8   error  'TodoListView' is defined but never used  

My eslint config

module.exports = {
  "extends": "eslint:recommended",
  "parser": "babel-eslint",
  "env": {
    "es6": true,
    "jest": true,
  },
  "parserOptions": {
    "sourceType": "module",
  },
  "rules": {
      "semi": "warn",
      "no-unused-vars": "warn",
      "no-use-before-define": "off",
      "no-multiple-empty-lines": ["warn", {"max": 2}],
      "no-console": "warn",
      "arrow-parens": ["error", "as-needed"],
      "comma-dangle": "off",
      // "import/first": "error"
  }
};

Как мне остановить eslint от выдачи ошибок импорт, например React, View et c, которые используются как компоненты, но ошибочно показаны как неиспользуемые?

1 Ответ

0 голосов
/ 09 августа 2020

Отвечая на это для любого будущего справочника, я обнаружил исправление с предложением @FunkeyFlo, спасибо за предложение plugin:react/recommended this npmjs .com / package / eslint-plugin-react package extend необходим для того, чтобы eslint работал в React.

"extends": [
    "eslint:recommended",
    "plugin:react/recommended"  //this plugin is required to use eslint for react, otherwise we will get errors for 'React' import, as 'no-unused-vars'
  ],
...