我正在使用React Typescript,并且有以下警告:
warning Missing return type on function
这是我的代码:
useEffect(() => {
window.addEventListener('scroll', fetchAllFriends, { once: true })
return () => {
window.removeEventListener('scroll', fetchAllFriends)
}
}, [fetchAllFriends])
这是否意味着我们在useEffect内的每个清理函数上都需要一个return (): void
?
答案 0 :(得分:2)
发生上述警告的原因可能是因为您已激活以下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,
}]