如何禁用@typescript-eslint/no-non-null-assertion 规则
Posted
技术标签:
【中文标题】如何禁用@typescript-eslint/no-non-null-assertion 规则【英文标题】:How to disable @typescript-eslint/no-non-null-assertion rule 【发布时间】:2020-06-04 19:38:54 【问题描述】:我要允许data!.id
错误:
警告禁止非空断言 @typescript-eslint/no-non-null-assertion
当前配置:
module.exports =
parser: '@typescript-eslint/parser',
extends: [
'eslint:recommended',
'plugin:jsx-a11y/recommended',
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
'plugin:react/recommended',
'prettier/@typescript-eslint',
'plugin:prettier/recommended'
],
plugins: ['react-hooks'],
parserOptions:
ecmaVersion: 2020,
sourceType: 'module',
ecmaFeatures:
jsx: true
,
rules:
'@typescript-eslint/ban-ts-ignore': 0,
'@typescript-eslint/no-explicit-any': 0,
'@typescript-eslint/consistent-type-assertions': ['warn', assertionStyle: 'as' ],
eqeqeq: 1,
'react/prop-types': 0,
'@typescript-eslint/camelcase': 0,
'react-hooks/rules-of-hooks': 'error',
'react-hooks/exhaustive-deps': 'warn'
,
globals:
React: 'writable'
【问题讨论】:
在配置规则中添加'@typescript-eslint/no-non-null-assertion': 'off'
不就行了吗?
奇怪,我可以禁用任何规则,但不能禁用这个。
【参考方案1】:
请将'@typescript-eslint/no-non-null-assertion': 'off'
添加到您的配置文件中,如下所示。
module.exports =
...
rules:
...
'@typescript-eslint/no-non-null-assertion': 'off'
,
...
【讨论】:
【参考方案2】:如果您尝试禁用整个文件的规则,在文件顶部添加此注释以忽略将起作用:
/* eslint-disable @typescript-eslint/no-non-null-assertion */
如果您尝试仅在下一行(而不是整个文件)禁用规则,则直接在该行上方添加此注释以忽略将起作用:
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
【讨论】:
以上是关于如何禁用@typescript-eslint/no-non-null-assertion 规则的主要内容,如果未能解决你的问题,请参考以下文章
如何将 typescript-eslint 规则添加到 eslint
@typescript-eslint/no-unused-vars 类型声明中的误报
带有 @typescript-eslint/no-unsafe-* 规则的新 eslint 错误
ES2015 模块语法优于自定义 TypeScript 模块和命名空间@typescript-eslint/no-namespace