В чем разница между RTK и RTK Query

«В чем разница между RTK и RTK Query» — вопрос из категории Библиотеки, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

RTK (Redux Toolkit) — это набор инструментов для работы с Redux, упрощающий его настройку и использование (например, createSlice, configureStore).

RTK Query — это надстройка над RTK, предназначенная для управления серверным состоянием (API-запросы, кэширование, инвалидация).

Ключевые различия:

  1. Назначение: RTK — для клиентского состояния, RTK Query — для синхронизации с сервером.
  2. Сложность: RTK Query автоматизирует загрузку данных, кэширование, обновления, тогда как в RTK это нужно делать вручную.
  3. Код:
// RTK (обычный Redux)
const postsSlice = createSlice({
  name: 'posts',
  initialState: [],
  reducers: { /* Ручная логика */ }
});

// RTK Query (автоматизация API)
const api = createApi({
  endpoints: (build) => ({
    getPosts: build.query({ query: () => '/posts' }),
  }),
});

Когда что использовать:

  • RTK: сложное клиентское состояние (например, форма с множеством полей).
  • RTK Query: работа с API (CRUD, кэширование).

Можно использовать вместе в одном проекте!