You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何定义无需QueryArgs的RTK Query无参数查询?

RTK Query无参数接口的类型处理方案

对于无需传递参数的RTK Query接口(如getAllX这类),可以用以下更优雅的方式处理模板类型:

  • 指定QueryArg为void类型
    定义查询时,将模板的第二个参数设为void,明确表示该查询不需要接收参数:

    const api = createApi({
      endpoints: (builder) => ({
        getAllX: builder.query<X[], void>({
          query: () => ({ url: '/api/x' })
        })
      })
    });
    
  • 调用Hook时无需传参
    因为QueryArg是void类型,调用自动生成的Hook时可以直接省略参数,写法更简洁:

    const { data, isLoading } = api.useGetAllXQuery();
    

相比用undefined或null,void类型更具语义性,既符合TypeScript的类型约束,又避免了调用时必须传值的冗余写法,代码更干净直观。

内容的提问来源于stack exchange,提问作者k_krrs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 12:49:55