использование 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.