Sobes.tech
Назад к вопросам
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 удобнее.