Запросы к API в React

НАВИГАЦИЯ ПО СТРАНИЦЕ

Fetch API

Для отправки и получения данных из API в React часто используется Fetch API. Вот пример того, как можно выполнить запрос к API, обработать полученные данные и обновить состояние компонента:

import React, { useState, useEffect } from 'react';

const MyComponent = () => {
  const [data, setData] = useState(null);
  const [loading, setLoading] = useState(true);
  const [error, setError] = useState(null);

  useEffect(() => {
    const fetchData = async () => {
      try {
        const response = await fetch('https://api.example.com/data');
        if (!response.ok) {
          throw new Error('Network response was not ok');
        }
        const result = await response.json();
        setData(result);
      } catch (error) {
        setError(error);
      } finally {
        setLoading(false);
      }
    };

    fetchData();
  }, []);

  if (loading) {
    return <p>Loading...</p>;
  }

  if (error) {
    return <p>Error: {error.message}</p>;
  }

  return (
    <div>
      <h1>Data from API</h1>
      <pre>{JSON.stringify(data, null, 2)}</pre>
    </div>
  );
};

export default MyComponent;

В этом примере:

  • Мы используем useState для отслеживания данных, загрузки и ошибок.

  • Хук useEffect вызывает функцию fetchData, которая отправляет запрос к API при монтировании компонента.

  • Если запрос успешен, мы обновляем состояние компонента с полученными данными.

  • Если возникает ошибка, мы обновляем состояние компонента с ошибкой.

  • Мы отображаем различные состояния компонента в зависимости от значений состояния loading и error.

Это базовый пример запроса к API в React с использованием Fetch API. В реальных приложениях вы можете добавить дополнительные обработки ошибок, обработку заголовков ответа и т. д. в соответствии с вашими потребностями.

Яндекс Практикум

Полезные ссылки:

zaka-zaka

Покупай игры выгодно

РЕКЛАМА, ООО «ГЕЙБСТОР» ИНН: 7842136365

zaochnik

Срочная помощь в написании всех видов работ

РЕКЛАМА, ООО «ЗАОЧНИК.КОМ.» ИНН: 7710949967

skyeng

Лучшие из курсов английского в Skyeng

РЕКЛАМА, ОАНО ДПО «СКАЕНГ» ИНН: 9709022748