Встречается на собеседованиях • сегодня

Как работает инвалидация в RTK Query

RTK Query автоматически управляет кэшированием данных и их инвалидацией. Основные механизмы:

  1. Автоматическая инвалидация при мутациях:
js
// При успешной мутации с тегом 'Posts'
// все кэшированные запросы с этим тегом будут инвалидированы
apiSlice.injectEndpoints({
  endpoints: builder => ({
    getPosts: builder.query({ query: () => '/posts', providesTags: ['Posts'] }),
    addPost: builder.mutation({
      query: (post) => ({ url: '/posts', method: 'POST', body: post }),
      invalidatesTags: ['Posts'] // Инвалидирует getPosts
    })
  })
})
  1. Ручная инвалидация через dispatch:
js
dispatch(apiSlice.util.invalidateTags(['Posts']))
  1. Таймауты кэша через keepUnusedDataFor (по умолчанию 60 сек).

RTK Query использует систему тегов для точного управления инвалидацией, избегая избыточных перезапросов. При инвалидации помеченные данные удаляются из кэша, а при следующем обращении выполняется новый запрос.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы