Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

218
Views
la función de mapa no está definida al llamar al objeto de productos en reaccionar redux

Estoy tratando de mostrar todos mis productos desde una API falsa en mi pantalla de inicio. Estoy usando reaccionar redux para administrar el estado. Cuando registro en la consola el objeto de productos, obtengo un valor nulo, por lo que no creo que obtenga nada de la llamada.

 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"; const productListReducer = ( state= {loading: true, products: [] }, action ) => { switch(action.type) { case PRODUCT_LIST_REQUEST: return{loading:true} case PRODUCT_LIST_SUCCESS : return {loading:false,products:action.payload} case PRODUCT_LIST_FAIL : return {loading:false,error:action.payload} default: return state } } export default productListReducer

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Inicialmente, la matriz de productos no está definida, por lo que debe agregar una condición como esta

 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 && products.map((product) => ( <Product key={product.id} product={product}></Product> ))} </div> </div> ); }
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!