Skip to content

Commit

Permalink
Used custom hook to dispatch action to fetch products data
Browse files Browse the repository at this point in the history
  • Loading branch information
Aayush259 committed Aug 2, 2024
1 parent 25d814c commit 5ad5b73
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
4 changes: 4 additions & 0 deletions src/components/products/ProductDetail.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,15 @@ import { useParams } from 'react-router-dom';
import useCartActions from '../../hooks/cartReducerHooks.js';
import useWishlistActions from '../../hooks/wishlistReducerHooks.js';
import { useIsItemInCart, useIsItemInWishlist, useProducts } from '../../hooks/useStoreItems.js';
import useGetProducts from '../../hooks/useGetProducts.js';
import Loader from '../Loader.jsx';
import Rating from './Rating.jsx';

export default function ProductDetail() {

// Getting products in store if not exists.
useGetProducts();

// Getting product data from store.
const productData = useProducts();

Expand Down
14 changes: 5 additions & 9 deletions src/components/products/Products.jsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
import React, { useEffect, useState } from 'react';
import ProductCard from './ProductCard.jsx';
import { useParams } from 'react-router-dom';
import { useDispatch, useSelector } from 'react-redux';
import { getProducts } from '../../features/product/productSlice.js';
import { useSelector } from 'react-redux';
import StatusCode from '../../utils/StatusCode.js';
import useGetProducts from '../../hooks/useGetProducts.js';
import FilterSection from './FilterSection.jsx';
import Loader from '../Loader.jsx';
import StatusCode from '../../utils/StatusCode.js';

export default function Products() {

const dispatch = useDispatch();
// Getting products in store.
useGetProducts();

// Getting product data and status from store.
const { value: productData, status } = useSelector(state => state.product);
Expand All @@ -25,11 +26,6 @@ export default function Products() {
'Wired', 'Noise Cancelling', 'Wireless', 'Speaker'
]);

// Dispatching action to get products.
useEffect(() => {
dispatch(getProducts());
}, []);

useEffect(() => {
if (filterCriteria.length <= 0) {
setFilterCriteria(['Wired', 'Noise Cancelling', 'Wireless', 'Speaker']);
Expand Down

0 comments on commit 5ad5b73

Please sign in to comment.