¿Cómo funciona un formulario en React?
Te lo explico muy claro y paso a paso, y lo integramos como una tercera página al ejemplo anterior con React Router.
La idea será:
-
Inicio → muestra la lista (
fakeApiData) -
Contáctenos
-
Agregar usuario → formulario para agregar datos a la lista
⚠️ Nota importante (concepto clave):
ComofakeApiDatano es una API real, los datos solo vivirán en memoria mientras la app esté abierta.
Esto es perfecto para aprender formularios y estado.
1️⃣ ¿Cómo funciona un formulario en React?
En React, un formulario se maneja con estado (useState).
Conceptos básicos
-
Cada input tiene un valor controlado
-
El valor vive en un
useState -
onChangeactualiza el estado -
onSubmitprocesa los datos
Ejemplo mental simple
2️⃣ Vamos a mover fakeApiData al componente padre
Para que Inicio y Agregar compartan los datos, el estado debe vivir en App.js.
3️⃣ App.js (estado global + rutas)
App.js
📌 Aquí pasa algo muy importante:
-
userses el estado -
setUserspermite modificarlo -
Se pasan como props a los componentes
4️⃣ Página Inicio (Home.jsx)
Ahora recibe los datos por props.
pages/Home.jsx
5️⃣ Página Agregar Usuario (Formulario)
Aquí está el corazón del formulario.
6️⃣ Explicación del formulario paso a paso
pages/AddUser.jsx
7️⃣ ¿Qué está pasando aquí? (explicación clara)
🔹 useState
-
name→ valor del input -
setName→ cambia el valor
🔹 Input controlado
-
React controla el input
-
El input siempre refleja el estado
🔹 Envío del formulario
❌ Evita que el navegador recargue la página
🔹 Agregar a la lista
-
Copia el arreglo
-
Agrega el nuevo elemento
-
React vuelve a renderizar
🔹 Navegación automática
Redirige a la página de inicio
8️⃣ Flujo completo del usuario
-
Entra a Inicio
-
Da clic en Agregar Usuario
-
Escribe un nombre
-
Presiona Guardar
-
Regresa a Inicio
-
Ve el nuevo usuario en la lista ✅
9️⃣ Resumen ultra corto
| Elemento | Función |
|---|---|
useState | Guarda datos |
onChange | Captura escritura |
onSubmit | Procesa el formulario |
setUsers | Actualiza la lista |
useNavigate | Cambia de página |
Si quieres, en el siguiente paso puedo enseñarte:
-
🔹 Formularios con varios campos
-
🔹 Validaciones simples
-
🔹 Guardar datos en localStorage
-
🔹 Conectarlo a una API real (PHP / MySQL) → sé que esto te serviría mucho
Comentarios
Publicar un comentario