Estoy construyendo una tienda de comercio electrónico con reaccionar y redux. Recibo un error que dice que no estoy importando una acción de ' productAction.js ' a ' homeScreen.js '. He intentado importar automáticamente la acción pero no se compilará. Quiero que se lea la acción listProduct y la propiedad de los productos.
import React, { useEffect } from 'react'; import Product from '../components/product'; import { useDispatch, useSelector } from 'react-redux'; import { listProducts } from '../actions/productActions'; export default function HomeScreen() { const dispatch = useDispatch(); const productList = useSelector(state => state.productList); const { products } = productList; useEffect(() => { dispatch(listProducts()); },[dispatch]); return ( <div> <div className="row center"> {products.map((product) => ( <Product key={product._id} product={product}> </Product> ))} </div> </div> ); }
import { PRODUCT_LIST_FAIL, PRODUCT_LIST_REQUEST, PRODUCT_LIST_SUCCESS } from "../constants/productConstants" import axios from 'axios' const listProducts = ( ) => async(dispatch) => { dispatch({ type: PRODUCT_LIST_REQUEST }) try{ const { data } = await axios.get('https://fakestoreapi.com/products') dispatch({type:PRODUCT_LIST_SUCCESS,payload:data}) }catch (error) { dispatch({type:PRODUCT_LIST_FAIL,payload:error.message}); } } export default listProducts;