Una Action es una función async que le entregas a React, normalmente a través de la prop action de un formulario o de startTransition. React gestiona el estado de pendiente, los errores y el orden en lugar de que tú montes flags booleanos. useActionState recibe una action y un estado inicial, y devuelve el estado actual, una action envuelta para pasar al formulario y un flag isPending. useFormStatus lee el estado de pendiente desde un componente anidado, y useOptimistic muestra el resultado esperado de inmediato.
Por qué lo preguntan los entrevistadores
Esto le dice al entrevistador si te has mantenido al día, porque las Actions sustituyen un montón de código repetitivo que la mayoría de bases de código React todavía arrastra. Quiere ver que entiendes que el manejo de pendiente y de errores viene de la maquinaria de transiciones, y que sabes explicar las actualizaciones optimistas y cómo se revierten. También es un buen indicador de si has llevado mutaciones de servidor a producción hace poco.
Cómo estructurar tu respuesta
- Define una Action como una función async cuyo ciclo de vida gestiona React.
- Explica qué devuelve useActionState y dónde va cada pieza.
- Añade useFormStatus y useOptimistic y qué resuelven.
- Contrástalo con el estado manual de carga y error que escribías antes.
Ejemplo de respuesta
Antes de las Actions, cada mutación significaba las mismas cuatro piezas de estado: cargando, error, el resultado y algo para evitar envíos dobles. Las Actions meten todo eso dentro de React. Escribo una función async que hace el trabajo, se la paso a useActionState con un estado inicial, y recibo de vuelta el estado actual, una action para poner en la prop action del formulario, e isPending. React la ejecuta dentro de una transición, así que el flag de pendiente y el orden vienen gratis, y si dos envíos compiten, gana el resultado del más reciente en lugar de la llamada de red que resulte volver la última. Para un botón de enviar enterrado dentro del formulario uso useFormStatus, así puede leer el estado de pendiente sin ir pasando props. Y para algo como una caja de comentarios añado useOptimistic para mostrar el comentario al momento, y si la action lanza un error, React revierte el estado optimista al estado real por su cuenta. La ganancia práctica es que un componente de formulario baja de unas setenta líneas a veinte y los casos límite dejan de ser cosa mía.
¿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
- ¿Qué le pasa al estado optimista si la action falla?
- ¿Cómo devuelves un error de validación al formulario desde una action?
- ¿Cómo se comportan las Actions antes de que termine la hidratación?
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