@n1ksON
мидл

Для чего нужно использовать render() в reactjs?

Изначально было так
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?
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
GreyCrew
@GreyCrew
Full-stack developer
в первом случае у вас ошибка в строке
weatherMethod={this.gettingWeather}
Вы обращаетесть к текущей функции, не связав её с ассинхронным методом gettingWeather

А про render вот дока
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы