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

114
Views
reaccionar cargar cuadrícula de imágenes según el nombre

Tengo las siguientes imágenes en una carpeta src/assets de un proyecto React.

 src/assests/ a.webp b.webp c.webp

Me gustaría definir un componente funcional que sea un div que contenga la imagen correspondiente a su nombre (el nombre es una cadena).

Puedo conseguir que siempre sea 'a'

 import a from "./assets/a.webp"; function ImageTile({name}){ return <div> <img src = {a}/> </div> }

Pero si lo cambio a esto para tratar de ser más general, entonces la imagen no se carga correctamente.

 function ImageTile({name}){ return <div> <img src = {eval(name)}/> </div> }

Incluso si esto funcionó, parece tedioso tener que importar cada imagen. Me complace guardar las imágenes en otro lugar dentro del directorio de la aplicación de reacción.

Aquí hay una esencia de github con un ejemplo completo de App.js si ayuda a las personas a entender lo que estoy tratando de hacer.

https://gist.github.com/oli5679/96f4549d82b1897a91c2528a4651cd51

También probé el enfoque sugerido aquí , pero aparece un error.

 function importAll(r) { let images = {}; r.keys().map(item => { images[item.replace('./', '')] = r(item); }); return images; } const images = importAll(require.context('./assets', false, '/\.webp/')); console.log(images); # require__(...).context is not a function
about 4 years ago · Juan Pablo Isaza
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!