Evento onSubmit en React

Autor: | Última modificación: 13 de septiembre de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

Los eventos en React son uno de los elementos más importantes de esta librería de JavaScript. De una manera similar a las promesas y las etiquetas condicionales en Javascript, los eventos nos permiten crear asincronía al ejecutar acciones solo cuando ciertas situaciones se dan. Por ello, en este post, te enseñaremos qué es y cómo funciona el evento onSubmit en React, fundamental para el desarrollo de aplicaciones con formularios.

¿Qué es el evento onSubmit en React?

El evento onSubmit en React es uno de los muchos eventos disponibles en esta librería Javascript. Puede que ya conozcas los eventos onClick y onChange en React. Para conocer más sobre los distintos eventos que existen en React, te recomendamos leer el post manejando eventos en reactjs.org.

En particular, onSubmit es un evento de formulario que nos permite ejecutar un submit en React. Es decir, nos permite ejecutar acciones cuando el usuario de clic en un botón de tipo submit. La acción más común a dejar preparada en un evento onSubmit es la llamada a la API, con la que podemos mandar y procesar los datos insertados en un formulario. Si quieres saber más sobre cómo ejecutar esta acción, te recomendamos leer nuestro post sobre ejecutar un submit en React.

¿Cómo funciona el evento onSubmit en React?

Cada vez que te encuentres con un nuevo evento dentro de React, te recomendamos usar el comando console.log para revisar qué es lo que nos devuelve este evento. Recuerda que este comando es utilizado en JavaScript para pintar nuestros elementos en pantalla. Entonces, para entender cómo funciona el evento onSubmit en React, podrías escribir la siguiente línea de código:

<form onSubmit = {event => console.log (event)}>

</form>

Como mencionamos antes, cuando tenemos un botón con una propiedad type=»submit», el evento onSubmit en React se activará al hacer clic sobre el botón. Este botón normalmente es con el que el usuario inicia sesión y puede tener cualquier texto. Por esto, puedes clicar sobre el botón de tu componente para ver lo que nos da este evento.

Al ejecutar esta acción, verás que el console.log se pinta en pantalla y luego desaparece. También notarás que la URL de tu localhost cambia. Esto sucede porque el comportamiento predeterminado de los formularios HTML dispara una recarga. Además, este comportamiento por defecto hace que se muestren los valores del formulario en la URL.

Mantener el comportamiento por defecto de un formulario HTML es una mala práctica tanto para la seguridad como para nuestra aplicación. Por un lado, no debemos mostrar los valores de un input por nuestra URL. Por el otro lado, no queremos que cada vez que ejecutemos submit se efectúe una recarga, pues es como estar inicializando nuestra aplicación cada vez.

Para cambiar el comportamiento de un evento onSubmit en React, usamos el comando event.preventDefault. Así, podemos guardar esta acción en una función que llamaremos handleSubmit:

handleSubmit = (event) => {

event.preventDefault ( );

}

Luego, podremos pasar la función handleSubmit por nuestro evento onSubmit en cualquier proyecto. Este tipo de recodificaciones son buenas prácticas, pues nos permiten reutilizar código. Es decir, si tenemos otro formulario dentro de nuestro proyecto que requiera de un onSubmit, podremos llamar a la función handleSubmit en vez de tener que insertar el preventDefault en cada ocasión.

Crear la función handleSubmit también nos permite tener un código más limpio. Es decir, tendremos un proceso de render de nuestro componente más limpio. Por ello, aunque podríamos declarar la función dentro de nuestro return, es mejor hacerlo en una función fuera de ella y luego llamar la función.

Dentro de la función que controla nuestro evento onSubmit en React, deberemos pasar el estado que guarda las credenciales que queremos mandar. Dentro de esta función también haremos la llamada a nuestro API.

¿Quieres seguir aprendiendo?

Ahora que sabes cómo usar el evento onSubmit en React para procesar tus formularios, ¡es momento de crear y desarrollar tus propios proyectos en esta herramienta! Para aprender a desarrollar proyectos y aplicaciones, no solo en React sino también en otros lenguajes de programación como JavaScript, HTML y CSS, te invitamos a nuestro Desarrollo Web Full Stack Bootcamp. ¿A qué esperas para cumplir tu sueño de ser un desarrollador web? ¡Anímate a seguir aprendiendo con nosotros e inscríbete!

👉 Descubre más del Desarrollo Web Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

Días

¡conviertete en full stack developer!

fórmate en desarrollo web en menos de 7 meses

becas | opciones de financiación