intermediate

Cache invalidation

Определяйте query keys, свежесть, триггеры инвалидации, момент refetch и допустимость устаревших данных.

Кэши server-state индексируют данные иерархическими query key — `['users', id]` — чтобы частичная инвалидация затрагивала связанные запросы после мутаций. staleTime и cacheTime задают, как долго данные свежие и как долго хранятся. Refetch при фокусе окна или reconnect настраивается.

Инвалидируйте после успешных мутаций; оптимистично обновляйте только при готовом откате. Избыточная инвалидация даёт мерцание UI; недостаточная — устаревшие списки.

На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.

Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.

Компромисс часто между ясностью и переиспользованием или между явными props и удобством.

Чеклист:

  • Структурированные query key отражают ресурсы.
  • Инвалидируйте связанные запросы после записи.
  • Осознанно настраивайте staleTime и cacheTime.