Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

341
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda