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

163
Views
¿Cómo renderizar un componente cuyo nombre es dado por un mapeo de matriz?

Tengo una matriz de datos, así:

 export const links = [ { name: 'Facebook', url: 'https://facebook.com', icon: 'SiFacebook', }, /* ... rest of it */ ]

Luego, para cada uno de estos nombres de icon , tengo un componente (que en realidad es un ícono que usa React Icons , por ejemplo, representaría:

<SiFacebook />

Entonces, después de mapearlo en mi página, necesito hacer algo como esto:

 {links.map((link: any, index: any) => ( <li key={index} className="w-60 rounded-md bg-neutral-focus grid grid-cols-1 p-3 mx-2" > {React.createElement(`${link.icon}` ,{})} <a href={link.url} target="_blank" rel="_noreferrer" className="text-sm font-bold" > {link.name} </a> </li> ))}

Entonces necesito representar cada link.icon como un componente. Intenté usar React.createElement pero no funcionó. Otras formas tampoco funcionaron. ¿Qué estoy haciendo mal?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

eso no es posible porque también necesita importar el ícono de acuerdo con los documentos de íconos de reacción --> https://react-icons.github.io/react-icons/ donde está tratando de renderizar, la otra y mejor manera es para enviar el icono como un componente de la matriz como esta

 import { FaBeer } from 'react-icons/fa'; export const links = [ { name: 'Facebook', url: 'https://facebook.com', icon: <FaBeer />, }, /* ... rest of it */ ]
about 4 years ago · Juan Pablo Isaza 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!