我遇到的问题是ESLint未检测到导入的具有“no-unused-vars”规则的React组件。我的组件已导入:
import MediaQuery from 'react-responsive';
并在文件中进一步使用该组件:
render() {
return (
<MediaQuery maxDeviceWidth={750}>
<div style={styles.iconMobileContainerRight} >
<i className="fa fa-chevron-right" style={styles.checkboxMobile} aria-hidden="true" ></i>
</div>
</MediaQuery>
);
}
我的.eslintrc.js文件如下:
module.exports = {
"env": {
"browser": true,
"commonjs": true,
"es6": true,
"node": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaFeatures": {
"experimentalObjectRestSpread": true,
"jsx": true
},
"sourceType": "module"
},
"plugins": [
"react"
],
"rules": {
"indent": [
"error",
2
],
"linebreak-style": [
"error",
"unix"
],
"quotes": [
"error",
"single"
],
"semi": [
"error",
"always"
]
}
};
我使用原子文本编辑器安装了linter和linter-eslint包(两者都是最新的版本)。我缺少什么使linter检测到导入组件的使用?
答案 0 :(得分:4)
默认情况下,ESLint不会检测JSX中使用的变量。要将它们标记为已使用,您应该使用jsx-uses-vars插件的eslint-plugin-react规则。