Автоматически сгенерированные хуки RTK Query не существуют

Недавно я начал проект и использую redux/toolkit и его API запросов для управления своими данными.

Я пытался использовать автоматически сгенерированные хуки, но получаю сообщение об ошибке от машинописи, говорящее, что они не могут их найти. Вот пример кода, который я написал:

export const elementsApi = api.injectEndpoints({
  endpoints: (build) => ({
    getElements: build.query<
      {
        rootParentId: string;
      } & GetElementReturnType,
      number
    >({
      query: (search) => ({ url: `Menu/GetFiles${search}` }),
      transformResponse: ({ data }: { data: BackendMenuType }) => {
        return {
          rootParentId: data.MenuId,
          ...getElements(data),
        };
      },
      providesTags: (result, _error, id) => [{ type: elements, id }],
    }),
  }),
});

export const { useGetElementsQuery } = elementsApi;

Сообщение об ошибке, которое я получаю, когда пытаюсь получить крючок:

Property 'useGetElementsQuery' does not exist on type 'Api<BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError, {}, FetchBaseQueryMeta>, { getElements: QueryDefinition<number, BaseQueryFn<...>, string, { ...; } & GetElementReturnType, "api">; }, "api", string, unique symbol>'.

Я убедился, что для моего VSCode установлена ​​версия выше 4.1+, как это предлагается в этой проблеме. Это 5.0.4

версия машинописного текста, установленная в моих devdependencies, также 5.0.4

Есть еще что-то, что я забыл проверить?


57
1

Ответ:

Решено

Вы, вероятно, импортировали createApi из @reduxjs/toolkit/query, а не @reduxjs/toolkit/query/react, поэтому вы использовали версию без крючка.