Вопрос проверяет понимание назначения и преимуществ библиотеки Tanstack Query (ранее React Query) для управления состоянием данных, полученных с сервера, в React-приложениях.
Tanstack Query (ранее известная как React Query) — это мощная библиотека для управления состоянием данных, которые приходят с сервера, в клиентских приложениях, особенно в React. В отличие от библиотек управления состоянием вроде Redux, которые фокусируются на клиентском состоянии (например, открыт ли модальный окно), Tanstack Query специализируется на асинхронных данных: загрузке, кэшировании, синхронизации и обновлении информации из API.
Библиотека автоматически решает множество сложных задач:
Вот базовый пример использования хука useQuery для загрузки списка пользователей:
import { useQuery } from '@tanstack/react-query';
const fetchUsers = async () => {
const response = await fetch('/api/users');
if (!response.ok) throw new Error('Network error');
return response.json();
};
function UserList() {
const { data, isLoading, error } = useQuery({
queryKey: ['users'], // Уникальный ключ для кэша
queryFn: fetchUsers, // Функция для выполнения запроса
});
if (isLoading) return Loading...;
if (error) return Error: {error.message};
return (
{data.map(user => (
{user.name}
))}
);
}В этом примере useQuery автоматически обрабатывает состояние загрузки, ошибки и кэширует результат. При монтировании компонента в разных местах приложения с тем же queryKey данные будут переиспользованы.
Tanstack Query стоит применять в React-приложениях, которые активно работают с внешними API и требуют эффективного управления загруженными данными. Она значительно сокращает шаблонный код, повышает производительность за счёт умного кэширования и улучшает пользовательский опыт за счёт фоновых обновлений и оптимистичных UI-изменений.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию