是否有 eslint 规则来强制 useState() 的类型?

san*_*oco 6 typescript reactjs eslint typescript-eslint

我想确保我们所有的团队成员都正确地输入了他们的钩子。

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

目前我还没有找到这样的规则。如果没有现成的插件,我该如何自己做呢?

Hon*_*nza 6

eslint-plugin-require-explicit-generics看起来像你正在寻找的东西。

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

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