如何使用 React 设置 Eslint
How to set up Eslint with React
我将 webpack 与 React 和 Eslint 一起使用,我已经在 Eslint 上设置了扩展,但是,它仍然显示 'React' is defined but never used.eslintno-unused-vars
这是我的 .eslintrc 文件:
{
"parser": "babel-eslint",
"extends": ["eslint:recommended", "plugin:react/recommended", "airbnb", "prettier"],
"parserOptions": {
"sourceType": "module",
"ecmaVersion": 2015
},
"env": {
"browser": true,
"node": true,
"jest": true,
"commonjs": true
},
"rules": {
"react/jsx-uses-react": "error",
"react/jsx-uses-vars": "error",
"react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],
"linebreak-style": "off",
"no-undef": "off",
"no-debugger": "off",
"no-alert": "off",
"indent": ["error", 4],
"quotes": "off",
"no-console": "off"
}
}
React 版本是 ^17.0.1
babel-eslint 是 ^10.1.0
eslint 是 ^7.14.0
eslint-plugin-react 是 ^7.21.5
看起来它与文件中的实际 JSX 有关
您的配置在实际包含有效 JSX 的文件上运行良好:
// App.jsx
import React from 'react'; //
const App = () => {
return <div />; // JSX
}
export default App
但如果在文件中未找到 JSX,则会抛出您描述的错误:
// App.jsx
import React from 'react'; // 'React' is defined but never used
const App = () => {
return 1; // no JSX
}
export default App
我将 webpack 与 React 和 Eslint 一起使用,我已经在 Eslint 上设置了扩展,但是,它仍然显示 'React' is defined but never used.eslintno-unused-vars
这是我的 .eslintrc 文件:
{
"parser": "babel-eslint",
"extends": ["eslint:recommended", "plugin:react/recommended", "airbnb", "prettier"],
"parserOptions": {
"sourceType": "module",
"ecmaVersion": 2015
},
"env": {
"browser": true,
"node": true,
"jest": true,
"commonjs": true
},
"rules": {
"react/jsx-uses-react": "error",
"react/jsx-uses-vars": "error",
"react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],
"linebreak-style": "off",
"no-undef": "off",
"no-debugger": "off",
"no-alert": "off",
"indent": ["error", 4],
"quotes": "off",
"no-console": "off"
}
}
React 版本是 ^17.0.1
babel-eslint 是 ^10.1.0
eslint 是 ^7.14.0
eslint-plugin-react 是 ^7.21.5
看起来它与文件中的实际 JSX 有关
您的配置在实际包含有效 JSX 的文件上运行良好:
// App.jsx
import React from 'react'; //
const App = () => {
return <div />; // JSX
}
export default App
但如果在文件中未找到 JSX,则会抛出您描述的错误:
// App.jsx
import React from 'react'; // 'React' is defined but never used
const App = () => {
return 1; // no JSX
}
export default App