useGetAllFavQuery is not a function

Есть вот такое api, в котором я либо получаю список избранного для пользователя, либо удаляю что-то из этого списка, либо добавляю:

import { createApi, fakeBaseQuery } from "@reduxjs/toolkit/query";
import {
  arrayRemove,
  arrayUnion,
  doc,
  getDoc,
  updateDoc,
} from "firebase/firestore";
import { userConverter } from "../converter/userConverter";
import { firestore } from "../firebase";

export const favApi = createApi({
  baseQuery: fakeBaseQuery(),
  reducerPath: "favApi",
  tagTypes: ["Favourite"],
  refetchOnMountOrArgChange: true,
  endpoints: (builder) => ({
    getAllFav: builder.query({
      async queryFn(email) {
        try {
          if (!email) {
            return { data: [] };
          }
          const userLink = doc(firestore, "users", email).withConverter(
            userConverter
          );
          const user = await getDoc(userLink);

          const userData = user.data();
          if (userData) {
            return { data: userData.favourite };
          }
          return { data: [] };
        } catch (err) {
          return { error: err };
        }
      },
      invalidatesTags: ["Favourite"],
    }),
    addToFav: builder.mutation({
      async queryFn(email, item) {
        try {
          if (!email) {
            return { data: [] };
          }
          const userLink = doc(firestore, "users", email).withConverter(
            userConverter
          );

          await updateDoc(userLink, {
            favourite: arrayUnion(item),
          });
          return { data: item };
        } catch (err) {
          return { error: err };
        }
      },
      invalidatesTags: ["Favourite"],
    }),
    removeFromeFav: builder.mutation({
      async queryFn(email, item) {
        try {
          if (!email) {
            return { data: [] };
          }
          const userLink = doc(firestore, "users", email).withConverter(
            userConverter
          );

          await updateDoc(userLink, {
            favourite: arrayRemove(item),
          });
          return { data: item };
        } catch (err) {
          return { error: err };
        }
      },
      invalidatesTags: ["Favourite"],
    }),
  }),
});

export const {
  useGetAllFavQuery,
  useAddToFavMutation,
  useRemoveFromeFavMutation,
} = favApi;

Но при запросе списка избранного для пользователя я получаю ошибку api_favApi__WEBPACK_IMPORTED_MODULE_1_.useGetAllFavQuery) is not a function TypeError: (0 , api_favApi__WEBPACK_IMPORTED_MODULE_1_.useGetAllFavQuery) is not a function

Хук, куда я импортирую созданные эндпоинты из api:

import {
  useAddToFavMutation,
  useGetAllFavQuery,
  useRemoveFromFavMutation,
} from "../api/favApi";
import { useAuth } from "./useAuth";

export const useFav = () => {
  const { user } = useAuth();
  const { data: favourites = [] } = useGetAllFavQuery(user?.email);

  const [addFav, addRes] = useAddToFavMutation();
  const [removeFav, removeRes] = useRemoveFromFavMutation();

  const isItemFav = (id) => favourites.some((item) => item.id === id);

  const addToFav = async (data) => {
    await addFav({ email: user?.email, item: data });
  };

  const removeFromFav = async (data) => {
    await removeFav({ email: user?.email, item: data });
  };

  return {
    isFav: isItemFav,
    isDisabled: addRes.isLoading || removeRes.isLoading,
    addToFav,
    removeFromFav,
  };
};

Строка, где я делаю запрос:

  const { data: favourites = [] } = useGetAllFavQuery(user?.email);

Подозреваю, что проблема в том, что из api экспортируются не функции, а константы с типом any, но как это исправить и в чем причина этого я не знаю.


Ответы (0 шт):