2017-03-01 12 views
9

セットアップしましたeslint & eslint-plugin-reactです。ReactのESLintは `no-unused-vars`エラーを返します

私がESLintを実行すると、linterは各Reactコンポーネントのエラーno-unused-varsを返します。

私はJSXまたはReact構文を使用していると認識していないと仮定しています。何か案は?

例:

app.js

import React, { Component } from 'react'; 
import Header from './header.js'; 

export default class App extends Component { 
    render() { 
    return (
     <div> 
     <Header /> 
     {this.props.children} 
     </div> 
    ); 
    } 
} 

リンターエラー:

0:ここ

/my_project/src/components/app.js 
    1:8 error 'React' is defined but never used no-unused-vars 
    2:8 error 'Header' is defined but never used no-unused-vars 

は私.eslintrc.jsonファイルですextendsの下であなたの.eslintrc.json

{ "env": { "browser": true, "es6": true }, "extends": "eslint:recommended", "parserOptions": { "ecmaFeatures": { "experimentalObjectRestSpread": true, "jsx": true }, "sourceType": "module" }, "plugins": [ "react" ], "rules": { "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }], "indent": [ "error", 2 ], "linebreak-style": [ "error", "unix" ], "quotes": [ "error", "single" ], "semi": [ "error", "always" ] } } 
+0

あなたはねそれを使用しないで 'React'をインポートすると、ちょうど正しくインポートされた' Component'が使用されています。 – GMaiolo

+0

これは理にかなっていますが、なぜヘッダーにもエラーがありますか? (実際にはReactをインポートする必要があります。そうでなければ、JSXが透明化されると、エラーが発生します) –

+0

これは今行われていないはずです。あなたのeslintバージョンは何ですか? https://github.com/eslint/eslint/issues/1905 – daniloprates

答えて

28

は、以下のプラグインが含ま:グーグルながら、あなたはこの単純なルールは、このメッセージを防止するのに十分であることを知っている必要があり、私はこれを見つけたので

'extends': [ 
    'plugin:react/recommended' 
] 

Source

10

react/jsx-uses-react 

react/recommendedのルールセットには、many other rulesあなたは欲しくないかもしれません。 .eslintrc.jsに追加インストールeslint-プラグインに反応

NPM I eslint-プラグインに反応react/recommendedから新しいルールを追加することなく、--save

この唯一の問題を解決するために

7

"プラグイン":[ "反応する"]

"ルール":{ "反応/ JSX-用途は反応し": "エラー"、 "/ JSX-用途-VARS反応する": "エラー"}

関連する問題