использование Unstated с React Js для получения данных из конечной точки API

Я уже разработал приложение для получения данных о погоде с openweathermap.org. Приложение построено с использованием redux и redux-saga. Теперь мне нужно переделать это, используя "Unstated" вместо Redux для управления состоянием.

Класс WeatherContainer.js обрабатывает состояние:

      class WeatherContainer extends Container {
  state = { weather: [] };
  setWeatherData = (weather) => {
    this.setState({ ...this.state, weather });
  };
}

Запрос axios, который получает данные из конечной точки API.

      axios.get(process.env.REACT_APP_BASE_URL, {
    params: {
      id: cityIds,
      units: "metric",
      appid: process.env.REACT_APP_API_KEY,
    },
  });

Я хочу хранить данные, полученные от axios, внутри переменной state.weather в WeatherContainer, которую затем можно использовать, когда мне нужно.

1 ответ

Решение

Я перешел на unstated-next для response js. та же библиотека с перехватчиками реакции и всем остальным. Это упрощает управление состоянием с помощью хуков useState, а также могут быть применены все хуки реакции.Ссылка на репозиторий unstated-next на github

Поскольку это оболочка вокруг API контекста React, библиотека имеет небольшой вес и не требует особых конфигураций, таких как redux.

Другие вопросы по тегам