eslint
とeslint-plugin-react
をセットアップしました。
ESLintを実行すると、リンターは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>
);
}
}
リンターエラー:
/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
ファイル:
{
"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"
]
}
}
react/recommended
インストールeslint-plugin-react
から新しいルールを追加せずにこの唯一の問題を解決するには:
npm i eslint-plugin-react --save
.eslintrc.js
を追加:
"plugins": ["react"]
そして:
"rules": {
"react/jsx-uses-react": "error",
"react/jsx-uses-vars":
"error"
}
グーグル検索中にこれを見つけたので、この単純なルールでこのメッセージを防ぐのに十分であることを知っておく必要があります。
react/jsx-uses-react
react/recommended
ルールセットは、 他の多くのルール を追加する場合があります。
私の場合、.eslintrc.js
を追加する必要がありました。
'extends': [
'plugin:react/recommended'
]
さらに、プリアクトインポートを削除する特定の調整:import { h } from 'preact'
が、この例を使用して特定の警告を削除することができます。
"no-unused-vars": [
"error",
{
"varsIgnorePattern": "^h$"
}
],
これから create-react-app github issue 。
最初の行の上に次の行を追加することもできます。
// eslint-disable-next-line no-unused-vars
import React from 'react'