Ответ
RTK Query удобен для работы с API в Redux-приложениях, особенно когда нужно:
- Кэширование данных – автоматически управляет кэшем, избегая лишних запросов.
- Автоматические рефетчи – поддерживает фоновое обновление данных (например, при фокусе окна).
- Оптимистичные обновления – позволяет обновлять UI до подтверждения сервера.
- Генерация хуков – создаёт готовые хуки для запросов и мутаций.
Пример:
// apiSlice.js
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
export const api = createApi({
baseQuery: fetchBaseQuery({ baseUrl: '/api' }),
endpoints: (builder) => ({
getPosts: builder.query({
query: () => 'posts',
}),
}),
});
// Компонент
const { data, isLoading } = useGetPostsQuery();
Лучше использовать в проектах с частыми API-запросами и сложным состоянием данных. Для простых случаев (1-2 запроса) может быть избыточным.