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

110
Vistas
Eliminar el atributo HTML deshabilitado de un botón no permite hacer clic en él

Tengo este componente de botón en mi aplicación React:

 <button onClick={() =>alert('hi')} disabled={true}>test</button>

Esperaba cuándo eliminaría el atributo disabled en el navegador como:

 <button disabled>test</button>

a:

 <button>test</button>

Se debe hacer clic en el botón y debe aparecer una alerta, pero no sucedió.

¿Por qué el botón no activa el mensaje de alerta después de eliminar el atributo dentro del navegador?

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

0

El <button> que renderizas con react no es el elemento DOM real sino un componente integrado que administra su estado internamente. Por lo tanto, los accesorios que pasa a ese componente solo se reflejan en el DOM cuando la reacción lo vuelve a renderizar cuando los accesorios o el estado han cambiado.

Pero React no sabe que eliminó el atributo disabled en el DOM. Desde la perspectiva de reaccionar, el botón aún está deshabilitado y, por lo tanto, los eventos de clic se suprimen. Al administrar el DOM con reaccionar, no debe intentar manipular el DOM desde el exterior, ya que reaccionar no se dará cuenta de ningún cambio y se anulará con cada renderizado.

También los eventos en los componentes incorporados son administrados por el propio manejo de eventos de React. Entonces, el controlador que pasó al componente <button> no es el mismo que si lo proporcionara directamente al elemento DOM.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Según su código, puedo ver que no eliminó el atributo deshabilitado . Solo eliminaste la parte {true} . Mantener el atributo deshabilitado , incluso si no está establecido en verdadero, deshabilitará el botón, razón por la cual no se activa. Prueba esto :-

 <button onClick={() => alert("hi")}>test</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