Sobes.tech
Назад к вопросам
Middle
2

Для чего нужен RTK Query?

Компании, где спрашивали
МВидео/эльдорадо

Ответ от нейросети

sobes.tech AI

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

Основные преимущества RTK Query:

  • Автоматическое кэширование и обновление данных.
  • Интеграция с Redux без необходимости писать редьюсеры и экшены вручную.
  • Поддержка автоматического повторного запроса при ошибках или обновлении данных.
  • Удобные хуки для использования в компонентах React.

Пример использования:

import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';

const api = createApi({
  reducerPath: 'api',
  baseQuery: fetchBaseQuery({ baseUrl: '/api' }),
  endpoints: (build) => ({
    getPosts: build.query({
      query: () => 'posts',
    }),
  }),
});

export const { useGetPostsQuery } = api;

// В компоненте
function Posts() {
  const { data, error, isLoading } = useGetPostsQuery();

  if (isLoading) return <div>Загрузка...</div>;
  if (error) return <div>Ошибка загрузки</div>;

  return <ul>{data.map(post => <li key={post.id}>{post.title}</li>)}</ul>;
}