1

我目前正在为应用程序构建一个 rtk-query 包,我正在使用代码拆分(通过使用injectEndpoints,因为可能涉及数百个端点)。但是,我还想实现一个类似于docs 中的自动预取钩子的预取钩子

有没有办法为这些端点生成正确的 Typescript 类型?上面的钩子将端点类型定义为type EndpointNames = keyof typeof api.endpoints,但是我的所有端点都是这样定义的(如文档所述):

export const emptySplitApi = createApi({
  baseQuery: fetchBaseQuery({ baseUrl: '/' }),
  endpoints: () => ({}), //
})

如果这不可能,usePrefetch从不同injectEndpoints方法导出多个钩子的最佳方法是什么?

4

1 回答 1

1

我只是从每个文件中导出完整的 api 对象,然后就像api1.usePrefetch(), api2.usePrefetch().

这样,您还可以确保已加载正确的文件,以便将其注入。如果您要在父 api 上调用它,您永远无法确定端点是否已经被注入。

于 2021-10-23T10:13:33.707 回答