Во второй части углубленного курса по React Query мы переходим к изменяющим операциям — мутациям (mutations). Вы узнаете, как выполнять POST, PUT, PATCH и DELETE запросы с помощью хука useMutation. Мы детально разберем жизненный цикл мутации: от отправки данных до обработки успешного или ошибочного ответа. Особое внимание уделим тому, как React Query обеспечивает перерендер после мутаций, автоматически обновляя интерфейс на основе нового состояния данных.
Ключевой темой урока станет связь мутаций и системы кэширования. React Query использует ключи запросов (query keys) не только для идентификации данных, но и для их инвалидации (объявления устаревшими). Вы научитесь правильно прописывать эти ключи и использовать методы invalidateQueries и setQueryData для точечного обновления кэша после мутаций. Это позволяет мгновенно отражать изменения в UI без необходимости выполнять дополнительный сетевой запрос, что является мощным преимуществом в пользовательском опыте.
Мы также проведем глубокий анализ того, как происходит кеширование данных в React Query и сравним этот подход с другими популярными решениями, например, с RTK Query. Вы поймете разницу в стратегиях инвалидации, работе с оптимистичными обновлениями (optimistic updates) и управлении фоновой ре-фетчингой данных. К концу этого занятия вы будете уверенно использовать мутации для изменения данных, мастерски управлять кэшем с помощью ключей запросов и сможете аргументированно выбирать между React Query и RTK Query для своих React приложений.