我想确保我们所有的团队成员正确地键入他们的钩子.

const [users, setUsers] = useState<User>([]); // --> should work
const [users, setUsers] = useState([]); // --> should throw a linting error

到目前为止,我还没有找到这样的规则.如果没有现有的插件,我怎么能自己做呢?

推荐答案

eslint-plugin-require-explicit-generics看起来像你要找的.

https://www.npmjs.com/package/eslint-plugin-require-explicit-generics

向选项传递希望强制执行泛型类型的函数的名称(例如useStateReact.useState)

Typescript相关问答推荐

在Switch陈述中输入保护类

如果在TypeScript中一个原始的类方法是递归的,如何使用类decorator 模式?

用泛型类型覆盖父类函数导致类型y中的Property x不能赋给基类型Parent中的相同属性."'''''' "

泛型函数中输入参数类型的推断问题

在不更改类型签名的情况下在数组并集上映射文字

保护函数调用,以便深度嵌套的对象具有必须与同级属性函数cargument的类型匹配的键

有没有办法取消分发元组的联合?

自定义 Select 组件的类型问题:使用带逗号的泛型类型<;T与不带逗号的<;T&>;时出错

声明遵循映射类型的接口

map 未显示控制台未显示任何错误@reaction-google-map/api

类型实例化过深,可能是无限的&TypeScrip中的TupleUnion错误

为什么在这种情况下,打字脚本泛型无法正确自动完成?

在Thunk中间件中输入额外参数时Redux工具包的打字脚本错误

替换typescript错误;X类型的表达式可以';t用于索引类型Y;带有未定义

Svelte+EsBuild+Deno-未捕获类型错误:无法读取未定义的属性(读取';$$';)

如何将元素推入对象中的类型化数组

元组解释

在Typescript 中,是否有一种方法来定义一个类型,其中该类型是字符串子集的所有可能组合?

Next.JS-13(应用程序路由)中发现无效的中间件

为什么我们在条件语句中使用方括号[]?