React Query
React Query - это мощный менеджер ансинхронного состояния , он предоставляет вам декларативные, всегда актуальные автоматически управляемые запросы и мутации, которые напрямую улучшают работу как разработчиков, так и пользователей.
Он имеет ряд таких примуществ как:
- 
Декларативость и автоматизацияНа этом логика выборки данных вручную закончена. Сообщите React Query, где взять ваши данные и насколько свежими они должны быть, а все остальное будет сделано автоматически. Он обрабатывает кэширование, фоновые обновления и устаревшие данные из коробки с нулевой конфигурацией. 
- 
Простоту и знакомостьЕсли вы знаете, как работать с промисами или асинхронностью/ожиданием, то вы уже знаете, как использовать React Query. Нет глобального состояния для управления, редукторов, систем нормализации или сложных конфигураций для понимания . Просто передайте функцию, которая разрешает ваши данные (или выдает ошибку), а остальное уже история. 
- 
РасширяемостьReact Query настраивается для каждого экземпляра запроса наблюдателя с регуляторами и параметрами, подходящими для каждого варианта использования. Он поставляется со специальными инструментами разработки, API с бесконечной загрузкой и первоклассными инструментами изменения, которые упрощают обновление ваших данных . Не волнуйтесь, все заранее настроено на успех! 
Установка
npm
npm i @tanstack/react-querypnpm
pnpm add @tanstack/react-queryyarn
yarn add @tanstack/react-queryОсновы
Базовый пример на react query:
import {
  QueryClient,
  QueryClientProvider,
  useQuery,
} from "@tanstack/react-query";
const queryClient = new QueryClient();
export default function App() {
  return (
    <QueryClientProvider client={queryClient}>
      <Example />
    </QueryClientProvider>
  );
}
function Example() {
  const { isLoading, error, data } = useQuery({
    queryKey: ["repoData"],
    queryFn: () =>
      fetch("https://api.github.com/repos/tannerlinsley/react-query").then(
        res => res.json()
      ),
  });
  if (isLoading) return "Loading...";
  if (error) return "An error has occurred: " + error.message;
  return (
    <div>
      <h1>{data.name}</h1>
      <p>{data.description}</p>
      <strong>👀 {data.subscribers_count}</strong>{" "}
      <strong>✨ {data.stargazers_count}</strong>{" "}
      <strong>🍴 {data.forks_count}</strong>
    </div>
  );
}В приведенном выше примере вы можете увидеть, как React Query в его самой простой и простой форме используется для получения статистики GitHub для самого проекта React Query GitHub:
useQuery - хук , которому мы передаем объект настроек с свойсвами queryKey - идификация запроса по которому будет осущиствлять кэширование и выбрарка данных , queryFn - функция запроса которая возвращеат promise (обещание) результат или ошибку.
Это был краткий обзор React Query , более подробно вы можете ознакомиться на его сайте