ב-2021, Netflix ביצעו ניתוח של הcodebase שלהם ומצאו שיותר מ-40% מהבאגים ב-client נגעו לניהול server state - loading states שהוצגו אחרי שהdata כבר הגיעה, caching לא נכון, race conditions בין requests, stale data שמוצג למשתמש. הם עברו ל-React Query ומחקו אלפי שורות קוד תוך חודש. הסיפור הזה חוזר בארגונים רבים, כי הבעיה היא מבנית - useEffect + useState לdata fetching הוא פתרון שמאלתר שמזמין bugs.
ההבנה המפתח: ה-server state הוא שונה fundamentally מ-client state.
בחברות ישראליות בגודל בינוני ומעלה - Monday.com, Fiverr, Lemonade - כל team שעבדה עם useEffect לdata fetching עברה בשלב מסוים ל-React Query. לא כי useEffect לא עובד, אלא כי React Query מחסל מחלקה שלמה של bugs ומצמצם קוד boilerplate בצורה דרמטית. להבין למה - זה השיעור הזה. Client state (modal פתוח/סגור, form input) שייך לאפליקציה - אתה ה-owner שלו. Server state (רשימת users, products, orders) שייך לserver - אתה רק cache שלו. ה-management שלהם צריך להיות שונה.