【问题标题】:Missing return type on function @typescript-eslint/explicit-function-return-type函数 @typescript-eslint/explicit-function-return-type 缺少返回类型
【发布时间】:2021-11-19 16:07:56
【问题描述】:

在我的 React TypeScript 文件中,我有以下代码:

<Button onClick={() => handleClick()}

这会引发以下 linting 错误。

Missing return type on function.eslint@typescript-eslint/explicit-function-return-type

为了解决错误,我在箭头函数中添加了一个void返回类型:

<Button onClick={(): void => handleClick()}

但是为所有此类函数声明返回类型是否正确,因为它们总是无效的?还是应该为此类箭头函数表达式禁用规则?

【问题讨论】:

  • 我个人讨厌显式函数返回类型规则,我不会在我的项目中使用它。在此示例中,您可以通过编写 onClick={handleClick} 来规避它,但并非每个箭头函数都是可以避免的。你的: void 是正确的,但很烦人,对吧?所以我会禁用它。

标签: reactjs typescript eslint typescript-eslint


【解决方案1】:

取决于项目。我现在更喜欢遵循社区标准。这是一篇了解扩展规则以及如何使用它的好文章:Better linting with Typescript and custom ESLint。然而,我在一个项目中工作,架构师制定了 eslint 规则,例如总是在每个 attr obj 中添加“只读”(如果你没有好的 sn-ps,这将非常乏味......)。

要停用或修改任何 eslint 规则,请转到 eslint.rc 文件

"rules": {
      "typescript-eslint/explicit-function-return-type": "off",
    },

Here 是包含所有信息的文档。看看是否有中间解决方案而不是停用它:)

【讨论】:

    猜你喜欢
    • 2019-11-16
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    • 2021-06-27
    相关资源
    最近更新 更多