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

140
Vistas
¿Cómo paso una propiedad de objeto a una función de controlador de eventos para realizar la manipulación DOM?

Tengo una página HTML renderizada usando React. Recuperé una lista de objetos que representan sitios web y los almacené en la memoria, y puedo mostrarlos en una lista larga en la página sin problemas.

He agregado un botón para cada objeto representado en la página. Creé un controlador de eventos para onClick que debería recibir una propiedad del objeto ( uid ), luego generar una nueva tabla en la página con detalles específicos de ese objeto.

Creo que me estoy perdiendo algo crucial en React, porque parece que no puedo pasar los datos del objeto al controlador de eventos.

HTML/JSX

 <div> <h2>results</h2> <ul> {countriesToShow.map((x, i) => { let uid = x.uid; return ( <li key={i} id={i}> {x.name.common}{' '} <button onClick={toggleShowCountry(uid)}>show</button> </li> ); })} </ul> </div> )

alternarMostrarpaís

 const toggleShowCountry = (x) => { console.log('this is uid', x); // TODO: get DOM object where the country resides and manipulate it };

Producción

Nada. Ni siquiera indefinido. Hacer clic en el botón no hace que aparezca nada en la consola, y en el renderizado inicial parece que toggleShowCountry se dispara automáticamente para cada objeto a medida que se renderiza.

Creo que esto podría tener algo que ver con la función "vincular" de JavaScript, pero no estoy totalmente seguro.

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

0

prueba este: <button onClick={() => toggleShowCountry(uid)}>show</button>

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