Когда удобно использовать RTK Query

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

Ответ

RTK Query удобен для работы с API в Redux-приложениях, особенно когда нужно:

  1. Кэширование данных – автоматически управляет кэшем, избегая лишних запросов.
  2. Автоматические рефетчи – поддерживает фоновое обновление данных (например, при фокусе окна).
  3. Оптимистичные обновления – позволяет обновлять UI до подтверждения сервера.
  4. Генерация хуков – создаёт готовые хуки для запросов и мутаций.

Пример:

// 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 запроса) может быть избыточным.