如何为some()
,filter()
,forEach()
禁用@typescript-eslint/explicit-function-return-type
?
每次为boolean
和some()
filter()
和void
声明forEach()
的返回类型非常烦人。
[2, 5, 8, 1, 4].some(elem => elem > 10)
[2, 5, 8, 1, 4].some((elem):boolean => elem > 10)
我希望能够使用第一个模式(标记为“无效”)而不会从此规则中得到错误。
答案 0 :(得分:1)
在您的.eslintrc
文件中,您可以在rules
下添加以下内容:
{
...
"plugins": ["@typescript-eslint"],
"rules": {
...
"@typescript-eslint/explicit-function-return-type": {
"allowExpressions": true
}
}
}
根据allowExpressions上的文档,这将允许您在不声明显式返回类型的情况下向任何函数提供内联回调。
答案 1 :(得分:1)
您必须在 .eslint 配置文件中将其设置为 "off"
:
{
...
"rules": {
...
"@typescript-eslint/explicit-function-return-type": "off"
}
}
答案 2 :(得分:0)
这是应该为规则.eslintrc
配置@typescript-eslint/explicit-function-return-type
{
"@typescript-eslint/explicit-function-return-type": "off",
"overrides": [
{
"files": ["*.ts", "*.tsx"],
"parser": "@typescript-eslint/parser",
...
"rules": {
...
"@typescript-eslint/explicit-function-return-type": [
"error",
{
"allowExpressions": true
}
]
}
}
]
}
使用{allowExpressions:true}:此规则的正确代码示例:
node.addEventListener('click', () => {});
node.addEventListener('click', function() {});
const foo = arr.map(i => i * i);
更多信息,请参见allowExpressions的文档。