You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

useFetchProductData.js 824B

12345678910111213141516171819202122232425262728
  1. import { useQuery } from '@tanstack/react-query';
  2. import { getProductData } from '../requests/products/producDataRequest';
  3. import { getProductsByCategory } from '../requests/products/productsByCategoryRequest';
  4. export const useFetchSingleProduct = (customID) => {
  5. return useQuery(
  6. ['product', customID],
  7. async () => await getProductData(customID)
  8. );
  9. };
  10. export const useFetchSimilarProducts = (category) => {
  11. return useQuery(
  12. ['products', category],
  13. async () => await getProductsByCategory(category),
  14. {
  15. enabled: !!category,
  16. }
  17. );
  18. };
  19. export const useFetchProductsByCategory = (productType) => {
  20. return useQuery(
  21. ['filteredProducts', productType],
  22. async () => await getProductsByCategory(productType),
  23. { enabled: productType === 'Mug' || productType === 'Coffee' }
  24. );
  25. };