¿Tu useEffect tiene un bug silencioso?
Cambios rápidos en búsquedas o navegación generan múltiples peticiones simultáneas. Sin control, la respuesta que llegue última (aunque sea para datos obsoletos) sobrescribirá el estado, mostrando ...

Source: DEV Community
Cambios rápidos en búsquedas o navegación generan múltiples peticiones simultáneas. Sin control, la respuesta que llegue última (aunque sea para datos obsoletos) sobrescribirá el estado, mostrando información incorrecta. Un error silencioso pero crítico. El Problema: Race Conditions Cuando el orden de las respuestas no coincide con el de las peticiones. El Código Común (El error) Click A → Se solicita "Datos A" Click B → Se solicita "Datos B" Red: Llega B (Rápido) → UI muestra "Datos B" ✓ Red: Llega A (Tarde) → UI sobrescribe con "Datos A" ✗ Aunque el usuario hizo clic en B último y quiere ver esos datos, la interfaz termina mostrando información obsoleta de A. Esto sucede porque cada petición actualiza el estado sin verificar si sigue siendo relevante. La Solución (AbortController) La clave para solucionar esto es cancelar la petición anterior antes de disparar la nueva. La API nativa AbortController nos permite hacer esto de forma elegante: useEffect(() => { const controller = new