Middle
30
React-те HTTP сұрауларын дұрыс қалай жасауға болады? Axios-ты fetch-тан неге жақсы?
Сұралған компаниялар
Smitex
AI-дан жауап
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 удобнее.