如何定义无需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
相关产品推荐
相关产品推荐

