Вы не можете await
setState. Чтобы выполнить код после изменения вашего состояния, setState
фактически имеет второй аргумент, который является функцией обратного вызова, которая выполняется после изменения состояния. Ваш код должен выглядеть примерно так:
console.log(data);
this.setState({weather: data}, () => {console.log(this.state)});
Здесь вы можете увидеть еще одну проблему. Поскольку вы объединяете строку ('data:') с объектом, ваш объект преобразуется в строку, и вы получаете [объект Object]. Чтобы избежать этого, выведите либо только объект, либо напечатайте объект отдельно от строки, например: console.log('data:', data)
. Обратите внимание, что здесь я использовал запятую, а не плюс.