Ответ
React Query упрощает работу с серверными данными, предоставляя готовые хуки (`useQuery`, `useMutation`) и автоматически управляя кешированием, фоновым обновлением, инвалидацией данных и обработкой ошибок.
Пример с `useQuery`:
```
import { useQuery } from 'react-query';
function fetchPosts() {
return fetch('/api/posts').then(res => res.json());
}
function Posts() {
const { data, isLoading, error } = useQuery('posts', fetchPosts);
if (isLoading) return 'Loading...';
if (error) return 'Error!';
return (
-
{data.map(post =>
- {post.title} )}
Ответ 18+ 🔞
Да ты посмотри, что эти умники напридумывали! React Query, блядь. Сидишь ты такой, пишешь свой `useEffect`, там `fetch`, потом ещё `useState` под данные, под загрузку, под ошибку... Пиздец, полкомпонента одной хуйней занято! А потом надо кешировать, фоново обновлять, инвалидировать — вообще мозг вытекает, как суп через дуршлаг.
А тут подкатывает эта библиотека и такая: "Расслабься, дружок-пирожок, ебать твои костыли, мы всё за тебя сделаем". И даёт тебе готовые хуки — `useQuery`, `useMutation`. И всё, блядь, работает!
Смотри, как запрос делать теперь:
```javascript
import { useQuery } from 'react-query';
function fetchPosts() {
return fetch('/api/posts').then(res => res.json());
}
function Posts() {
const { data, isLoading, error } = useQuery('posts', fetchPosts);
if (isLoading) return 'Loading...';
if (error) return 'Error!';
return (
-
{data.map(post =>
- {post.title} )}