Согласно вашему коду, вы вообще не делаете HTTP-вызов.
Внутри вашей функции loadWeather
, которая является просто методом компонента, вы возвращаете функцию, которая принимает dispatch
в качестве аргумента, это не правильно.
У вас есть асинхронное действие, которое отлично (я полагаю, что вы правильно установили и подключили redux-thunk .
Итак, вам нужно получить доступ к этому действию внутри вашего компонента. Это должно быть сделано с помощью модуля connect
, который вы установили и подключили. Но для подключения действий к реквизиту требуется еще один параметр.
const mapStateToProps = (state) => {
return state
};
/* This one you should add */
const mapDispatchToProps = dispatch => {
return {
getWeatherDispatch: (city, country) => {
dispatch(getWeather(city, country))
}
}
};
export default connect(mapStateToProps, mapDispatchToProps)(Weather);
В результате вы можете вызвать ваше действие внутри компонента, используя this.props.getWeatherDispatch(yourCity, yourCountry)