Ответ
RTK (Redux Toolkit) — это набор инструментов для работы с Redux, упрощающий его настройку и использование (например, createSlice, configureStore).
RTK Query — это надстройка над RTK, предназначенная для управления серверным состоянием (API-запросы, кэширование, инвалидация).
Ключевые различия:
- Назначение: RTK — для клиентского состояния, RTK Query — для синхронизации с сервером.
- Сложность: RTK Query автоматизирует загрузку данных, кэширование, обновления, тогда как в RTK это нужно делать вручную.
- Код:
// 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, кэширование).
Можно использовать вместе в одном проекте!