React JS: Получение погоды через API

Создание компонентов

Создадим три компонента:

  1. Form.js: Компонент формы для ввода города. Его код аналогичен компоненту Info из предыдущего урока, за исключением названия класса:
class Form extends React.Component {
  render() {
    return (
      <div>
        Компонент с формой
      </div>
    );
  }
}
  1. WeatherInfo.js: Компонент для отображения информации о погоде. Код аналогичен предыдущему, с изменением названия класса:
class WeatherInfo extends React.Component {
  render() {
    return (
      <div>
        Компонент с погодной информацией
      </div>
    );
  }
}
  1. Главный компонент: Объединяет Form и WeatherInfo. Импортируем созданные компоненты и используем их:
// ... импорт компонентов Form и WeatherInfo ...

// ... внутри главного компонента ...
<Form />
<WeatherInfo />

Работа с API OpenWeatherMap

Для получения данных о погоде используем API сервиса OpenWeatherMap ([ссылка на сайт](ссылка заменена на placeholder)). Необходима регистрация и получение API ключа. После регистрации, скопируйте ключ и добавьте его в проект:

const API_KEY = 'YOUR_API_KEY'; // Замените на свой ключ

Пример URL для получения данных о погоде в Киеве:

https://api.openweathermap.org/data/2.5/weather?q=Kyiv&appid=YOUR_API_KEY&units=metric

Замените YOUR_API_KEY на свой ключ и Kyiv на нужный город.

Получение и обработка данных

В компоненте WeatherInfo создадим асинхронный метод getWeather:

getWeather = async () => {
  const apiUrl = `https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${API_KEY}&units=metric`; // city - переменная с названием города
  const response = await fetch(apiUrl);
  const data = await response.json();
  console.log(data); // Для проверки
};

Метод использует fetch для запроса к API и response.json() для преобразования ответа в JSON. Вывод данных в консоль — временная мера для проверки. Отображение данных на странице будет рассмотрено в следующем уроке.

В этом уроке мы создали компоненты в React и получили данные с API OpenWeatherMap. В следующем уроке рассмотрим отображение данных на странице, используя свойства и методы React компонентов.

Что будем искать? Например,программа