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

199
Views
× TypeError: no se pueden leer las propiedades de undefined (leyendo 'mapa')

Cuando intento ejecutar este código me da este error:

× TypeError: no se pueden leer las propiedades de undefined (leyendo 'mapa')

no sé por qué He intentado posibles medios, pero no funcionó.

 import React from 'react'; import Grid from '@material-ui/core/Grid'; import Product from './Product/Product'; import useStyles from './styles'; const products = [ {id: 1, name: 'Shoes', description: 'Running Shoes.' }, {id: 2, name: 'MacBook', description: 'Apple MacBook.' }, ]; const Products = ({ products }) => { const classes = useStyles(); return ( <main className={classes.content}> <div className={classes.toolbar} /> <Grid container justify="center" spacing={4}> {products.map((products) => ( <Grid item key={product.id} item xs={12} sm={6} md={4} lg={3}> <Product /> </Grid> ))}; </Grid> </main> ); }; export default Products;
over 4 years ago · Santiago Trujillo
11 answers
Answer question

0

Hay una propiedad "productos" en su componente. Esa variable tiene mayor prioridad que el mapa que tienes afuera, y tu .map la está usando. Recomendaría cambiar el nombre de uno de ellos, para evitar variables con el mismo nombre.

Dado el error, supongo que esa propiedad no se pasó al componente.

Además, el parámetro del mapa lambda también es "productos". Cámbielo a "producto" o fallará.

over 4 years ago · Santiago Trujillo Report

0

Las propiedades, products , que está pasando a su componente ( Products ) no están definidas. El método Map tiene en cuenta que los products que ha pasado como propiedades no son los que ha creado fuera del componente en sí.

Si desea mapear la matriz de products que creó fuera de sus componentes, simplemente cambie su nombre ya que la matriz tiene el mismo nombre que las propiedades pasadas. Si desea utilizar los products (de la propiedad), asegúrese de pasar las propiedades en el componente.

over 4 years ago · Santiago Trujillo Report

0

Asegúrese de pasar las propiedades de los productos al componente Producto. Cambia esto:

 {products.map((products) => ( <Grid item key={product.id} item xs={12} sm={6} md={4} lg={3}> <Product/>

a esto:

 {products.map((products) => ( <Grid item key={products.id} item xs={12} sm={6} md={4} lg={3}> <Product/>

¿Por qué? Debido a que está mapeando un objeto ( productos ) en un elemento JSX en su caso, que es el componente <Product/>, por lo que al usar {product.id} está intentando mapear un objeto indefinido. Luego, asegúrese de que la propiedad de los productos que está tratando de mapear se pase correctamente al componente principal mediante el componente Productos .

over 4 years ago · Santiago Trujillo Report

0

Es porque ha tomado la matriz "productos" y el elemento del mapa "productos" con el mismo nombre. Cambie el elemento del mapa a algo más como "producto":

 const products = [ {id: 1, name: 'Shoes', description: 'Running Shoes.' }, {id: 2, name: 'MacBook', description: 'Apple MacBook.' }, ]; const Products = ({ products }) => { const classes = useStyles(); return ( <main className={classes.content}> <div className={classes.toolbar} /> <Grid container justify="center" spacing={4}> {products.map((product) => ( <Grid item key={product.id} item xs={12} sm={6} md={4} lg={3}> <Product/> </Grid> ))}; </Grid> </main> ); };
over 4 years ago · Santiago Trujillo Report

0

Marque INITIAL_STATE en el reductor.

Debe especificar una matriz en el objeto de ID que está llamando en el reductor.

Ejemplo:

 const INTIAL_STATE = { products: [], product: { name: "", brand_name: "", prices: "", color: "", images: []}, error: "", } product.images.map(img => { return( <div key = {img.id} className = "img-itemm"> <img src = {img.image} alt = {img.image} /> </div> ) })
over 4 years ago · Santiago Trujillo Report

0

 {products && products.map((product) => ( <Grid item key={product.id} item xs={12} sm={6} md={4} lg={3}> <Product /> </Grid> ))};
over 4 years ago · Santiago Trujillo Report

0

Tuve el mismo error y lo resolví preguntando primero si existía la matriz.

Ejemplo:

 <Filter> { product.color?.map((c) => ( <FilterColor color = {c} key = {c} /> ))}; </Filter>
over 4 years ago · Santiago Trujillo Report

0

al principio, verifique que los productos se exporten si es así, entonces

cambiar

 {products.map((products) => ( <Grid item key={product.id} item xs={12} sm={6} md={4} lg={3}> <Product/>

para

 {products.map((products) => ( <Grid item key={products.id} item xs={12} sm={6} md={4} lg={3}> <Product/>

porque aquí asigna productos como productos, por lo que debe establecer una clave como products.id

over 4 years ago · Santiago Trujillo Report

0

Tuviste que nombrar cada iteración del método de mapa con productos, pero estás usando producto para capturar cada instancia de la iteración.

over 4 years ago · Santiago Trujillo Report

0

A veces, da un error cuando no ha utilizado la variable de useState. y he hecho otros 2 componentes. 1) Gira 2) Giras

 const [tours, setTours ] = useState([]);

Ahora, he usado esta variable de tours en el archivo App.js usando componentes de Tours.

Aplicación.js

He usado recorridos en el archivo App.js.

Aplicación.js

Ahora, estoy tomando la variable tours para usar la función .map() en el archivo Tours.js.

 const Tours = ({ tours }) => { /... {tours.map() .../

Tours.js

Debe verificar que ambos archivos tengan la misma ortografía; de lo contrario, da un error y tampoco funciona la interfaz de usuario de ese archivo en particular.

Gracias por leer.

over 4 years ago · Santiago Trujillo Report

0

deberías probar esto:

 {products.map((product) => ( <Grid item key={product.id} item xs={12} sm={6} md={4} lg={3}> <Product/> </Grid> ))};

over 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!