Проблема веб‑додатків — не “запит до API”, а керування станом даних
Коли дані завантажуються хаотично, з’являються дублікати, “миготіння”, випадкові баги і важкий дебаг. Система кешування і правил оновлення робить UI передбачуваним.
1) Визнач, що кешуємо
- Довідники і профілі — довший TTL.
- Списки з фільтрами — ключ кешу = filters + role + locale.
- Критичні дані (баланс/платежі) — мінімальний кеш або строгі правила.
2) Stale‑while‑revalidate
Показуємо “трохи старі” дані, але тихо оновлюємо в фоні. Це дає UX без “порожніх екранів”, але потребує інвалідації і маркерів актуальності.
3) Інвалідація
- Після мутації (create/update) інвалідуємо пов’язані списки.
- Версіонування ключів (v1/v2) при великих змінах структури.
4) Помилки і ретраї
- Розділяй: validation error vs network timeout.
- Показуй “людяні” стани: retry, offline, partial data.
Підсумок
Коли є стратегія кешу та інвалідації, веб‑додаток стає швидким, а багів від “станів даних” стає в рази менше.