Mantén un solo esquema para todo el formulario y valida cada paso contra su porción, para que las mismas reglas corran en el cliente y otra vez en el servidor. Guarda las respuestas en un único objeto por encima de los pasos, controla el paso actual desde la URL para que atrás y adelante funcionen, y persiste el progreso al cambiar de paso. Valida en blur y al enviar, y nunca uses la validación del cliente como única barrera.
Por qué lo preguntan los entrevistadores
Los formularios de varios pasos sacan a la luz muchas decisiones de diseño a la vez: dónde va el estado, enrutado, estrategia de validación, persistencia y accesibilidad. El entrevistador quiere ver que piensas en el usuario que pulsa el botón atrás del navegador, que refresca a mitad del proceso y que se topa con un error de validación del servidor en el último paso. Las respuestas flojas lo meten todo en un useState gigante y se olvidan por completo de la URL.
Cómo estructurar tu respuesta
- Define un único esquema y deriva de él la validación por paso.
- Di dónde viven las respuestas y por qué.
- Pon el paso en la URL y explica qué arregla eso.
- Cubre la persistencia, la validación en servidor y el manejo de errores al enviar.
Ejemplo de respuesta
Empiezo con un único esquema para todo, y luego cada paso valida su propia porción. Así hay una sola definición de qué significa válido, y puedo ejecutar exactamente el mismo esquema en el servidor, porque la validación del cliente es una comodidad y no una garantía. Las respuestas recogidas viven en un objeto en un padre, o en un store pequeño si los pasos están lejos entre sí en el árbol, y cada paso recibe su porción y una forma de escribir de vuelta. El paso actual va en la URL, que suena a detalle pero arregla varias cosas a la vez: atrás y adelante funcionan, alguien puede refrescar sin perder el sitio, y soporte puede preguntar en qué URL está. Persisto el borrador en cada transición de paso, normalmente al servidor si la persona ha iniciado sesión y al almacenamiento local si no. La validación corre en blur y otra vez al pasar de paso, y en el envío final gestiono los errores del servidor mapeando las rutas de los campos al paso correcto y llevando al usuario allí con el foco en el input problemático.
¿Tienes esta entrevista a la vuelta de la esquina? GhostPilot escucha tu llamada en vivo, detecta la pregunta en cuanto la hacen y pone una respuesta estructurada en tu pantalla en tiempo real. Pruébalo en tu próxima entrevista de práctica, o coge un Session Pass de $29, sin suscripción, para la de verdad.
Mira cómo funcionaPreguntas de seguimiento que puedes esperar
- ¿Cómo manejas un error de validación que solo el servidor puede detectar?
- ¿Qué haces con alguien que abandona en el paso tres y vuelve una semana después?
- ¿Cómo gestionas el foco y los anuncios entre pasos para los lectores de pantalla?
Más preguntas para Desarrollador React
Tu entrevistador hará su propia versión de esta. Pega la descripción real del puesto en el Question Predictor gratuito y obtén las 20 preguntas que ese puesto tiene más probabilidades de hacerte, con lo que cada una busca en realidad.
Predecir mis preguntas