Workshop - ReactJS
  • Conociendo React!
  • 🤷1) ¿Por qué aprender React?
  • 🤓2) Creando elementos HTML con React.createElement API
  • 💣3) Reemplazando createElement por JSX
  • 🎉4) Creando el primer componente reutilizable con React
  • 🔮5) Virtual dom
  • 👮6) Validando props
  • 📝7) Listas
  • 🤡8) Condicionando un render
  • 💅9) Dando estilo a nuestro componente
  • 🍔10) Los class component
  • 🦁11) Manipulando el dom con refs
  • 💫12) Manejo de eventos
  • 💾13) Haciendo uso del State
  • ♻️ 14) Ciclo de vida de los componentes
  • ✏️15) Creando formularios
  • 🦍16) Haciendo un HTTP request con react
  • ✈️ 17) Patrones avanzados
    • 🎉18) Componentización
  • 🛠️ 18) Tips y experiencias
  • ☎️ Contacto
Powered by GitBook
On this page
  • Handling Events
  • Prevent default

💫12) Manejo de eventos

Previous11) Manipulando el dom con refsNext13) Haciendo uso del State

Last updated 7 years ago

Handling Events

Manejar eventos con react es muy parecido a manejar eventos del DOM. Hay algunas pequeñas diferencias de sintaxis:

  • React nombra a los eventos utilizando .

  • Cuando utilizamos JSX pasamos una function al event handler, en el caso de HTML pasamos un string.

Veamos un ejemplo.

with-html.html
<button onclick="execute()">
  Label
</button>

En el código de arriba, estamos utilizando el DOM directamente, ahora veamos cómo sería utilizando JSX y un element de react.

with-react.js
const execute = () => console.log('click');

<button onClick={execute}>
  Label
</button>

Cómo verás tiene algunos pequeños cambios. El primero es que cambiamos el nombre del evento onclick por onClick. El segundo es cómo pasamos la function que queremos ejecutar, en el caso de HTML se pasa un string, con react se pasa directamente la function.

son todos los eventos que soporta react.

Prevent default

Otra diferencia es que no podemos retornar false para evitar el comportamiento por defecto de un elemento HTML. Esto es algo común cuando queremos ejecutar una function dentro de un <a> ya que por defecto el elemento <a> intenta navegar.

Imaginemos que tenemos un botón que es un elemento <a> de HTML. Queremos ejecutar una function cuando un usuario haga click en él y además queremos evitar que navegue. Veamos cómo lo haríamos con HTML y cómo con react.

Con HTML:

<a href="#" onclick="console.log('The button was clicked.'); return false">
  Click me
</a>

Con react:

const handleClick = (event)=> {
    event.preventDefault();
    console.log('The button was clicked.');
};

const button = () => (
    <a href="#" onClick={handleClick}>
      Click me
    </a>
);

Como verás nuestra function handleClick recibe un parámetro event automáticamente. Event es un objeto que contiene toda la info del evento ocurrido, además nos brinda diferentes métodos cómo preventDefault() para que utilicemos en nuestro event handler.

Si quieres aprender mas sobre cómo manejar los eventos en react ingresa aquí:

camel case
Estos
Handling Events – React
Logo