Зачем нужен React Query
и как он меняет подход к загрузке данных
Если вы всё ещё пишете useEffect + fetch + useState, чтобы загрузить данные, ловите инсайт: это можно делать проще и мощнее.
Вот чем React Query реально помогает:
- Автоматический кеш: данные не перезагружаются каждый раз при переходе между страницами.
- Повторные запросы при восстановлении соединения или фокусе окна.
- Мутации (POST, PUT и т.д.) с оптимистичным обновлением UI.
- Умное управление состояниями: isLoading, isError, data, refetch — всё под рукой.
- Простая интеграция с TypeScript.
Пример использования:
const { data, isLoading, error } = useQuery({
queryKey: ['users'],
queryFn: () => fetch('/api/users').then(res => res.json())
});
Всё, никакого useEffect! А самое крутое — когда ты добавляешь бесконечный скролл или пагинацию — React Query делает это почти без боли.