#typescript #rtk-query
Вопрос:
В настоящее время я создаю пакет rtk-запросов для приложения, в котором я использую разделение кода (с помощью injectEndpoints
, поскольку, вероятно, будут задействованы сотни конечных точек). Тем не менее, я также хотел бы реализовать крючок предварительной выборки, аналогичный автоматическому крючку предварительной выборки в документах.
Есть ли способ создать правильные типы машинописных текстов для этих конечных точек? Приведенный выше крюк определяет типы конечных точек как type EndpointNames = keyof typeof api.endpoints
, однако все мои конечные точки определены следующим образом (как описано в документах):
export const emptySplitApi = createApi({
baseQuery: fetchBaseQuery({ baseUrl: '/' }),
endpoints: () => ({}), //
})
Если это невозможно, каков наилучший способ экспорта нескольких usePrefetch
крючков из разных injectEndpoints
методов?
Ответ №1:
Я бы просто экспортировал полный объект api из каждого файла, а затем сказал бы api1.usePrefetch()
: api2.usePrefetch()
.
Таким образом, вы также убедитесь, что был загружен правильный файл, чтобы он был введен. Если бы вы вызвали это в родительском api, вы никогда не смогли бы быть уверены, что конечная точка уже была введена.