是否可以在没有 QueryArgs 的情况下定义 RTK 查询?

k_k*_*rrs 4 typescript reactjs redux redux-toolkit rtk-query

RTK 查询中查询的定义是query<ResultType, QueryArg>。所有这些对于我实际需要向 API 发送参数的查询来说都很好。但是,我有一些端点不需要发送任何内容(例如 getAllX)。我可以在模板中将什么作为 QueryArg 传递?它不会接受任何一个争论。

到目前为止,我已经使用了像undefined和 之类的类型null来表示不需要发送任何内容,但是当您使用 hook: 时它看起来很难看,const {...} = useGetXQuery(undefined)而且我很确定必须有更好的方法,但是在互联网上搜索没有结果。

k_k*_*rrs 12

想通了,你需要使用voidas 类型,然后你可以像这样使用钩子:const {...} = useGetXQuery()

  • FWIW,这_is_在我们的文档中提到,https://redux-toolkit.js.org/rtk-query/usage-with-typescript#typing-query-and-mutation-endpoints,尽管它有点被埋没:“如果`query ` 没有参数,则必须显式提供 `void` 类型。” (2认同)