reactjs - 在定义之前使用了“React”
问题描述
我正在使用 create-react-app + typescript + eslint 应用程序,并且在构建过程中出现这样的错误:
Line 1:8: 'React' was used before it was defined @typescript-eslint/no-use-before-define
我的组件中的代码以:
import React from "react";
埃斯林特设置:
module.exports = {
parser: "@typescript-eslint/parser",
parserOptions: {
ecmaVersion: 2020,
sourceType: "module",
ecmaFeatures: {
jsx: true
}
},
settings: {
react: {
version: "detect"
}
},
extends: [
"plugin:react/recommended",
"plugin:@typescript-eslint/recommended",
"prettier/@typescript-eslint",
"plugin:prettier/recommended"
],
rules: {
"@typescript-eslint/explicit-module-boundary-types": 0,
"@typescript-eslint/triple-slash-reference": 0,
"no-use-before-define": "off",
"@typescript-eslint/no-use-before-define": "off"
},
};
package.json 的某些部分:
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^4.1.0",
"@typescript-eslint/parser": "^4.1.0",
"babel-eslint": "^10.1.0",
"eslint": "^6.6.0",
"eslint-config-airbnb": "^18.1.0",
"eslint-config-prettier": "^6.11.0",
"eslint-plugin-import": "^2.20.2",
"eslint-plugin-prettier": "^3.1.3",
"eslint-plugin-react": "^7.20.0",
"prettier": "^2.0.5",
"start-server-and-test": "^1.11.3"
},
"dependencies": {
...
"react-scripts": "3.4.3",
...
}
我试过了:
- 阅读https://github.com/typescript-eslint/typescript-eslint/issues/2502
- 在 .eslintrc.js 中禁用 @typescript-eslint/no-use-before-define 和 no-use-before-define
- 实际上我试图完全删除 .eslintrc.js ,但有同样的错误。
解决方案
来自官方文档。
"rules": {
// note you must disable the base rule as it can report incorrect errors
"no-use-before-define": "off",
"@typescript-eslint/no-use-before-define": ["error"]
}
推荐阅读
- angular - Ionic 5 angular firebase 显示存储中的 pdf
- android - 不兼容的类型:Intent 无法转换为 Callback
- android - 一种将整数转换为仅具有字母 1...9 和 a...z 的类型的算法
- javascript - Google Forms / Apps Script / Hangouts Chat - 机器人消息内容单独发送而不是一起发送
- database - 从 MongoDB 中的两个集合获取信息
- google-bigquery - 有没有办法在 bigquery 中使用动态数据集名称
- python - 如何从数据框中加载特征和标签
- testing - 如何将输入值与结果中的值进行比较
- webpack - 是否可以在 webpack 的另一个模块中加载生成的包的内容?
- java - 在 IDE 中抛出 IllegalArgumentException 但不打印出来