Por qué dejé de usar React Query (y cuándo deberías hacerlo tú también)
Un thread honesto sobre los límites de React Query y cuándo SWR o TanStack Query no son la respuesta.
Por qué escribí este thread
Los threads técnicos con opinión personal fuerte son los que más engagement generan. Midudev usa este patrón constantemente: plantear una posición controversial pero fundamentada.
Dejé de usar React Query en mi último proyecto después de 3 años usándolo a diario. No porque sea mala librería. Es excelente. Pero el equipo se estaba complicando por razones que nada tienen que ver con el fetching de datos. Te explico qué pasó 🧵
El problema: React Query te resuelve el fetching + caching + sincronización. Pero en apps con mucho estado derivado, acabas con una mezcla de useQuery + useReducer + useMemo que es difícil de razonar. No es culpa de RQ. Es que el patrón no escalaba.
¿Cuándo usarlo sin dudar? • APIs REST con muchos endpoints • Datos que cambian con frecuencia • Equipos que recién arrancan con React • SSR que necesita cache compartida Ahí React Query brilla. Es la mejor herramienta para ese job.
¿Cuándo reconsiderar? • Estado local complejo que no viene del server • Mucha lógica de derivación (no de fetching)• GraphQL (mejor usar Apollo/urql que ya cachean) • Apps pequeñas donde el overhead de RQ no se justifica
En mi caso, migré a SWR + Zustand. SWR para lo simple (fetching GET), Zustand para el estado de UI. El bundle bajó 40KB. El código es más legible. El equipo lo entiende más rápido. No es mejor ni peor. Es lo que funcionó para este proyecto.
Moraleja: la mejor arquitectura no es la que más features tiene. Es la que tu equipo puede mantener el lunes a las 9am cuando algo se rompe. Eso es engineering real.
¿Qué te pareció esto?
Tu feedback nos ayuda a crear mejor contenido