Empareja la herramienta con el tipo de estado. useState local para lo que sea propiedad de un solo componente, la URL para lo que se pueda compartir o guardar en marcadores, una caché de queries para los datos del servidor, y Context para valores estables como el tema o el usuario actual. Recurre a un store solo cuando tengas estado de cliente realmente global que muchos componentes sin relación leen y escriben, y donde necesites selectores para no re-renderizarlo todo.
Por qué lo preguntan los entrevistadores
Es una pregunta de arquitectura disfrazada de pregunta de herramientas. El entrevistador quiere oírte clasificar el estado antes de elegir herramienta, porque la mayoría de stores de Redux que hay por ahí son en un noventa por ciento respuestas cacheadas del servidor que una librería de queries gestionaría mejor. También comprueba si sabes justificar una decisión por razones de equipo y de base de código y no por preferencia personal o por lo que esté de moda.
Cómo estructurar tu respuesta
- Clasifica primero el estado: servidor, URL, local o cliente global.
- Asigna la herramienta por defecto a cada categoría.
- Da tu señal para introducir siquiera un store.
- Menciona los factores de equipo: consistencia, devtools, coste de incorporación.
Ejemplo de respuesta
Intento averiguar qué tipo de estado es antes de elegir nada, porque las mayores victorias vienen de no meterlo en un store desde el principio. Los datos del servidor van a una caché de queries, porque necesitan deduplicación, revalidación e invalidación, y nada de eso es gestión de estado, es caché. Cualquier cosa que alguien pueda querer enlazar o recuperar tras un refresco, como los filtros o la pestaña abierta, va en la URL. Todo lo que sea propiedad de un solo componente se queda en useState. Context lo uso para cosas estables, el tema, la persona que ha iniciado sesión, una instancia de cliente, porque no tiene selectores y las actualizaciones frecuentes salen caras. Lo que sobra es estado de cliente realmente global, como un editor de varios paneles con deshacer compartido, y ahí es cuando meto un store. Me inclino por uno pequeño con selectores basados en hooks antes que Redux para un proyecto nuevo, pero si un equipo ya conoce Redux Toolkit y tiene los hábitos de sus devtools, la consistencia gana a mi preferencia siempre.
¿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é te haría elegir Redux Toolkit en lugar de un store más ligero?
- ¿Cómo manejas el estado derivado en el store que elijas?
- ¿Cómo migrarías un store que es sobre todo respuestas cacheadas de la API?
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