Что в RTK Query облегчает разработку и создание запросов на сервер

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

Ответ

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

Ключевые преимущества:

  • Автогенерация хуков – создает useGetPostsQuery, useAddPostMutation и т.д.
  • Кэширование – автоматически управляет данными, избегая лишних запросов.
  • ИнвалидацияinvalidateTags перезапрашивает данные при изменении.
  • Оптимистичные обновленияonQueryStarted в мутациях позволяет мгновенно обновлять UI.
  • Минимум кода – не нужно писать редьюсеры, экшены, санки.

Пример:

// apiSlice.ts
const api = createApi({
  endpoints: (build) => ({
    getPosts: build.query<Post[], void>({
      query: () => 'posts',
    }),
    addPost: build.mutation<Post, Partial<Post>>({
      query: (body) => ({
        url: 'posts',
        method: 'POST',
        body,
      }),
    }),
  }),
});

// Компонент
const { data, isLoading } = useGetPostsQuery();
const [addPost] = useAddPostMutation();