En el desarrollo con la biblioteca de JavaScript React, se manejan las presentaciones de formularios usando un evento onSubmit
. Esta técnica es particularmente útil para recopilar los datos ingresados por el usuario en un formulario de una aplicación React.
React es conocido por su enfoque de programación declarativa y la interactividad proporcionada por los componentos. Sigue siendo fundamental recopilar y manipular datos de usuario, y la presentación de formularios es la forma más común de hacerlo.
Entonces, ¿cómo usamos el evento onSubmit
en React?
Para ilustrar esto, consideremos un formulario de registro sencillo con campos para el nombre de usuario y la contraseña.
class RegistrationForm extends React.Component {
constructor() {
super();
this.state = {
username: '',
password: ''
}
}
handleSubmit = (event) => {
event.preventDefault();
// Trata los datos del formulario aquí, por ejemplo:
console.log(this.state);
}
handleChange = (event) => {
this.setState({
[event.target.name]: event.target.value
});
}
render() {
return (
<form onSubmit={this.handleSubmit}>
<input
type='text'
name='username'
value={this.state.username}
onChange={this.handleChange}
/>
<input
type='password'
name='password'
value={this.state.password}
onChange={this.handleChange}
/>
<button type='submit'>Responder</button>
</form>
)
}
}
ReactDOM.render(<RegistrationForm />, document.getElementById('root'));
En este ejemplo, el evento del formulario onSubmit
se vincula al método this.handleSubmit
de nuestro componente. Cada vez que el usuario envía el formulario (por ejemplo, al hacer clic en el botón "Submit"), se invoca este método.
El método handleSubmit
es la clave para el manejo de las presentaciones de formularios en React. Este método es responsable de obtener los datos del formulario del estado del componente y manejarlos. Normalmente, se enviarían a un servidor o se usarían de otra manera en la aplicación.
Es importante observar que llamamos event.preventDefault()
en el método handleSubmit
para evitar que la página se recargue, que es el comportamiento predeterminado del formulario en la web.
También es fundamental comprender que React no maneja automáticamente la actualización del estado a partir de las entradas del formulario. Para hacer esto, necesitamos vincular el evento onChange
de cada entrada a otro método que actualice el estado, como se muestra en nuestro método handleChange
.
En resumen, aunque las bibliotecas de manejo de formularios como Formik o Redux Form pueden facilitar algunas tareas, no son necesarias para manejar formularios en React. El enfoque nativo de React para manejar las presentaciones de formularios usando el evento onSubmit
es potente y flexible.