fetch(`https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}`)
.then(response => response.json())
.then(weather => {
console.log(weather);
return {
type: CITY_WEATHER,
payload: weather
}
});
}
это все завернуто в
cityWeather
, который я вызываю через
dispatch(cityWeather(city))
Короче, твой action creator должен вернуть функцию (thunk), в которую мидлварой будут переданы dispatch и getState. Внутри этой функции ты можешь диспатчить события в стору: начало асинхронной операции, рещультат выполнения асинхронной операции.
const makeRequest = () => (dispatch, getState) => {
dispatch({type: 'начало асинхронной операции'});
fetch(uri)
.then(res => res.json())
.then(data => dispatch({type: 'результат асинхронной операции', payload: data}))};