Los eventos juegan un papel vital en la creación de interfaces de usuario interactivas y dinámicas en React. En este tutorial, exploraremos cómo manejar eventos React y responder a las acciones del usuario de manera efectiva.
Manejo de eventos en JSX
React proporciona un sistema de eventos sintético que envuelve los eventos del navegador nativo y los normaliza en diferentes navegadores. Podemos adjuntar controladores de eventos directamente a elementos JSX usando el onEventName
atributo.
Ejemplo:
function handleClick() {
console.log("Button clicked!");
}
<button onClick={handleClick}>Click Me</button>
Controladores de eventos y objetos de eventos
Cuando se activa un evento, React pasa automáticamente un objeto de evento a la función del controlador de eventos. Podemos acceder a este objeto para obtener información adicional sobre el evento, como el elemento objetivo, las coordenadas del mouse, etc.
Ejemplo:
function handleMouseOver(event) {
console.log("Mouse coordinates:", event.clientX, event.clientY);
}
<div onMouseOver={handleMouseOver}>Hover over me</div>
Controladores de eventos vinculantes
Al pasar controladores de eventos como accesorios, es importante vincularlos a la instancia del componente. Esto asegura que this
se mantenga el contexto correcto cuando se activa el evento.
Ejemplo:
class MyComponent extends React.Component {
handleClick() {
console.log("Button clicked!");
}
render() {
return <button onClick={this.handleClick.bind(this)}>Click Me</button>;
}
}
Propagación de eventos y prevención de acciones predeterminadas
React utiliza un sistema de eventos sintético que maneja automáticamente la propagación de eventos. Para evitar el comportamiento predeterminado del navegador, como el envío de formularios o la navegación por enlaces, podemos llamar al event.preventDefault()
método.
Ejemplo:
function handleSubmit(event) {
event.preventDefault();
console.log("Form submitted!");
}
<form onSubmit={handleSubmit}>
<input type="text" />
<button type="submit">Submit</button>
</form>
Al comprender cómo manejar eventos en React, puede crear interfaces de usuario interactivas y receptivas que respondan sin problemas a las acciones del usuario.
Aquí hay una lista de eventos comunes en React
1. onClick
: Este evento ocurre cuando se hace clic en un elemento.
Ejemplo:
<button onClick={handleClick}>Click Here</button>
2. onChange
: Este evento ocurre cuando cambia el valor de un elemento de entrada(entrada, selección, área de texto).
Ejemplo:
<input type="text" onChange={handleChange} />
3. onSubmit
: Este evento ocurre cuando se envía un formulario. Ejemplo:
<form onSubmit={handleSubmit}>
<input type="text" />
<button type="submit">Submit</button>
</form>
4. onMouseEnter
: Este evento ocurre cuando el puntero del mouse ingresa a un elemento.
Ejemplo:
<div onMouseEnter={handleMouseEnter}>Mouse Enter Here</div>
5. onMouseLeave
: Este evento ocurre cuando el puntero del mouse deja un elemento.
Ejemplo:
<div onMouseLeave={handleMouseLeave}>Mouse Leave Here</div>
6. onKeyDown
: Este evento ocurre cuando se presiona una tecla.
Ejemplo:
<input type="text" onKeyDown={handleKeyDown} />
7. onKeyUp
: Este evento ocurre cuando se suelta una tecla.
Ejemplo:
<input type="text" onKeyUp={handleKeyUp} />
8. onFocus
: Este evento ocurre cuando un elemento recibe el foco.
Ejemplo:
<input type="text" onFocus={handleFocus} />
9. onBlur
: Este evento ocurre cuando un elemento pierde el foco.
Ejemplo:
<input type="text" onBlur={handleBlur} />
10. onScroll
: Este evento ocurre cuando se desplaza un elemento.
Ejemplo:
<div onScroll={handleScroll}>Scrollable Content</div>
Estos son solo algunos ejemplos de eventos comunes en React. Puede utilizar estos eventos o crear eventos personalizados según sus necesidades en su React aplicación.