intermediate
Cache invalidation
Определяйте query keys, свежесть, триггеры инвалидации, момент refetch и допустимость устаревших данных.
Кэши server-state индексируют данные иерархическими query key — `['users', id]` — чтобы частичная инвалидация затрагивала связанные запросы после мутаций. staleTime и cacheTime задают, как долго данные свежие и как долго хранятся. Refetch при фокусе окна или reconnect настраивается.
Инвалидируйте после успешных мутаций; оптимистично обновляйте только при готовом откате. Избыточная инвалидация даёт мерцание UI; недостаточная — устаревшие списки.
На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.
Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.
Компромисс часто между ясностью и переиспользованием или между явными props и удобством.
Чеклист:
- Структурированные query key отражают ресурсы.
- Инвалидируйте связанные запросы после записи.
- Осознанно настраивайте staleTime и cacheTime.