reactjs - 使用 Typescript 清理 useEffect 中的函数

标签 reactjs typescript react-hooks

我正在使用 React Typescript,但出现以下警告:

警告函数缺少返回类型

这是我的代码:

 useEffect(() => {
    window.addEventListener('scroll', fetchAllFriends, { once: true })

    return () => {
      window.removeEventListener('scroll', fetchAllFriends)
    }
  }, [fetchAllFriends])

这是否意味着我们需要在 useEffect 中的每个清理函数上使用 return (): void

最佳答案

出现上述警告的原因可能是因为您激活了以下 ESLint 规则:

@typescript-eslint/explicit-function-return-type

要回答您的问题,您可以将返回类型设置为 void .

或者,您可以关闭上述规则,因为您不必总是显式设置所有方法的返回类型,因为 TypeScript 通常可以根据方法返回的内容推断返回类型。就我个人而言,我在大多数项目中都将其关闭。

getUser() {
  return service.getUser();
}

例如,在上述场景中,TypeScript 应该能够推断返回类型,而无需指定返回类型。


编辑:正如 @paolostyle 在评论中提到的,如果您希望保留规则,但为您的场景禁用该规则,您可以切换 allowExpressions选项并将其设置为 true

"@typescript-eslint/explicit-function-return-type": ["error", {
  "allowExpressions": true,
}]

关于reactjs - 使用 Typescript 清理 useEffect 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61947850/

相关文章:

mysql - 使用 Fetch API 删除行 使用效果 - ReactJS

css - Material -ui-next : Setting image size to fit a container

angular - 如何在 PrimeNG 的 FileUpload 组件中中止文件上传?

angular - 如何订阅和更新深深嵌套在BehaviorSubject 中的各个属性?

javascript - 检查 Angular 中的 "mode"可见打印还是隐藏打印

reactjs - React Hooks useCallback 的简单示例出现问题

reactjs - 如何使表单提交将数据保存在 useState Hook 变量中?

reactjs - 如何在自定义钩子(Hook)函数内访问 useReducer 的新状态

javascript - 为什么以及何时使用重组分支?

javascript - React-router:URL参数存在于this.props中的两个不同位置?