【问题标题】:'FC' is defined but never used.eslint (no-unused-vars)'FC' 已定义但从未使用过。eslint (no-unused-vars)
【发布时间】:2020-07-04 06:17:55
【问题描述】:

我收到了来自 eslint 的警告:

X 已定义但从未用于从 react 或 react-native 导入的每种类型。 FCViewProps 的示例(见下图)。

这是我的 .eslintrc.js:

module.exports = {
  env: {
    browser: true,
    es6: true,
    node: true,
  },
  extends: [
    'airbnb',
    "plugin:import/typescript",
  ],
  parser: "@typescript-eslint/parser",
  globals: {
    Atomics: 'readonly',
    SharedArrayBuffer: 'readonly',
  },
  parserOptions: {
    ecmaFeatures: {
      jsx: true,
    },
    ecmaVersion: 2018,
    sourceType: 'module',
  },
  plugins: [
    'react',
  ],
  rules: {
    "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx", ".ts", ".tsx"] }],
    "linebreak-style": 0,
    "jsx-a11y/label-has-associated-control": ["error", {
      "required": {
        "some": ["nesting", "id"]
      }
    }],
    "jsx-a11y/label-has-for": ["error", {
      "required": {
        "some": ["nesting", "id"]
      }
    }],
    "react/jsx-props-no-spreading": [1, {
      "custom": "ignore"
    }],
  },
};

【问题讨论】:

  • 你试过React.FC吗?
  • 警告是指您的“卡”,您正在导入说“FC”因此“定义”但从未在卡中使用过该导入,所以这就是 lint 发出警告的原因,解决方案是删除不必要的导入或使用它们。
  • @GursharnSingh 我确实使用 ViewProps 和 FC 来输入卡片。 const Card: FC = (props: ViewProps) => { const { style } = props; return ( ); };
  • @keikai React.FC 没有给出错误。 ViewProps 呢?
  • 添加了第二张图片!

标签: reactjs typescript eslint


【解决方案1】:

解决了将 'plugin:@typescript-eslint/recommended' 添加到 .eslintrc 中的 'extends' 数组的相同问题

另外,如果你需要的话,我的扩展中有“plugin:react/recommended”和“airbnb”

【讨论】:

  • 这是唯一的答案,它有效,所以我将其标记为已接受。谢谢@tjnk24
猜你喜欢
  • 2022-06-20
  • 2020-04-21
  • 2019-08-12
  • 2017-03-16
  • 2020-09-01
  • 2020-05-17
  • 2020-04-06
  • 2017-01-15
  • 1970-01-01
相关资源
最近更新 更多