Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

344
Vistas
¿Cómo puedo renderizar imágenes en un bucle en React?

Estoy tratando de crear una tarjeta con un título, una descripción y una imagen.

Mi estructura de archivos se parece a:

 src -components -images -section -Featured.js

En un archivo config.js tengo:

 module.exports = { featuredSection: [ { name: 'beer-image-1', title: 'Mango Cart', description: 'A light Wheat Ale bursting with lots of fresh mango flavor and aroma, finishing crisp and refreshing.', }, ], };

En mi archivo de componente Featured.js he intentado:

 const Featured = () => { ... // Get array of all names in config file const featuredNames = featuredSection.map((beer) => beer.name); // --> ['beer-image-1'] // Return an image for each name in `featuredNames` array const images = featuredNames.map((image) => { return ( <img key={image} src={require(`../images/${image}.jpg`)} alt='Beer picture' /> ); }); // Return title, desc., and image const card = featuredSection.map((image, i) => { return ( <div key={i}> <h1>{image.title}</h1> <p>{image.description}</p> {images} </div> ); }); return <>{card && card}</>; }

Esto devuelve el título y la descripción, pero la imagen no se carga y solo muestra el texto alternativo.

He estado tratando de hacer uso de estos ejemplos, pero siempre aparece el texto alternativo.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

¿Puedes mover tu carpeta de images a la carpeta public ? Si puede, el siguiente código debería funcionar

 <img key={image} src={`./images/${image}.jpg`} alt='Beer picture' />

Si no puede mover la carpeta de images intente a continuación. Utilice la propiedad predeterminada de require . Debería tener la imagen src.

 const images = featuredNames.map((image) => { const img = require(`../images/${image}.jpg`).default; return ( <img key={image} src={img} alt='Beer picture' /> ); });
about 4 years ago · Juan Pablo Isaza Denunciar

0

Creo que en el img JSX, el atributo src no necesita agregar require(). Simplemente verificaría la estructura de su directorio en función de su ruta relativa.

 return ( <img key={image} src={`../images/${image}.jpg`} alt='Beer picture' /> );

Además, creo que se puede mapear la sección destacada directamente para obtener la ruta de la imagen. Admito que sería conveniente si el nombre de su elemento es el mismo que el nombre de su imagen. le gustaría:

 const card = featuredSection.map((item, i) => { return ( <div key={i}> <h1>{item.title}</h1> <p>{item.description}</p> <img src={`../images/${item.name}.jpg`} alt='Beer picture' /> </div> ); });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda