@marki1404

Почему при обработке события возникает ошибка?

import React from "react";
import Info from "./components/info";
import Form from "./components/Form";
import Weather from "./components/Weather";

const API_KEY = "";

class App extends React.Component {

gettingWeather = async (e) => {
  e.preventDefault();
  const api_url = await
  fetch(`api.openweathermap.org/data/2.5/weather?q=Kiev,ua&appid=${API_KEY}&units=metric`);
  const data = await api_url.json();
  console.log(data);
}


	render(){
		return (
        <div>
				<Info />
				<Form weatherMethod={this.gettingWeather} />
				<Weather />
        </div>
	  );
	}
}

export default App;


Почему при клике на кнопку возникает какая-то ошибка? И как ее решить?
  • Вопрос задан
  • 76 просмотров
Решения вопроса 2
0xD34F
@0xD34F
Может, стоит добавить что-то вроде https:// в начало url'а, на который вы пытаетесь сделать запрос?
Ответ написан
Комментировать
hzzzzl
@hzzzzl
а еще чтобы ловить ошибки это надо заворачивать в try catch, если не хочется писать fetch().then().catch()

try {
  const api_url = await fetch(`api.openweathermap.org/data/2.5/weather?q=Kiev,ua&appid=${API_KEY}&units=metric`);
  const data = await api_url.json();
} catch (err) {
  console.log('какая-то ошибка', err)
}


ну и да, наверняка https://api.openweather....

ps / не забывай, что в таком случае твой api key увидят все прямо в браузере, надо делать запрос на "закрытые апи" на стороне сервера, а из реакта делать запрос на свой сервер типа fetch('/api/getweather')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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