Изначально было так
function App() {
gettingWeather = async() => {
const apiUrl = await
fetch(`http://api.openweathermap.org/data/2.5/weather?q=Kiev&appid=${apiKey}&units=metric`);
const data = await apiUrl.json();
console.log(data);
}
return (
<div className="App">
<Info />
<Weather />
<Form
weatherMethod={this.gettingWeather}
/>
</div>
);
}
Выдавало ошибку, что метод gettingWeather is not defined.
Изменил App на класс и добавил туда render():
class App extends React.Component {
gettingWeather = async() => {
const apiUrl = await
fetch(`http://api.openweathermap.org/data/2.5/weather?q=Kiev&appid=${apiKey}&units=metric`);
const data = await apiUrl.json();
console.log(data);
}
render() {
return (
<div className="App">
<Info />
<Weather />
<Form
weatherMethod={this.gettingWeather}
/>
</div>
);
}
}
В итоге заработало. Можете объяснить в каких случаях нужно использовать function а в каких class extends с render?