Назад к вопросам
Middle
6
Как правильно делать HTTP-запросы в React? Чем Axios лучше fetch?
Компании, где спрашивали
Smitex
Ответ от нейросети
sobes.tech AI
В React для HTTP-запросов можно использовать как встроенный fetch, так и сторонние библиотеки, например Axios.
fetch — это нативный API браузера, он прост и не требует установки, но:
- Не обрабатывает автоматически JSON (нужно вручную вызывать response.json())
- Не поддерживает отмену запросов через AbortController во всех случаях удобно
- Меньше возможностей для настройки и перехвата запросов/ответов
Axios — это библиотека, которая:
- Автоматически преобразует JSON
- Поддерживает отмену запросов
- Позволяет настраивать базовый URL, заголовки и интерсепторы
- Работает и в браузере, и в Node.js
Пример запроса с fetch:
fetch('/api/data')
.then(response => {
if (!response.ok) throw new Error('Ошибка сети');
return response.json();
})
.then(data => console.log(data))
.catch(error => console.error(error));
Пример с Axios:
import axios from 'axios';
axios.get('/api/data')
.then(response => console.log(response.data))
.catch(error => console.error(error));
Выбор зависит от задачи: для простых запросов fetch достаточно, для более сложных — Axios удобнее.