ESLint未检测到导入的React组件

时间:2017-02-25 13:14:20

标签: javascript reactjs atom-editor eslint linter

我遇到的问题是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检测到导入组件的使用?

1 个答案:

答案 0 :(得分:4)

默认情况下,ESLint不会检测JSX中使用的变量。要将它们标记为已使用,您应该使用jsx-uses-vars插件的eslint-plugin-react规则。