Я новичок в Reactionjs, и я использую create-реагировать на приложение, чтобы начать, но я не могу понять, как сделать вызов API для получения данных. Вот мой код:
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
// import { URL, KEY, city, countryCode } from './config.json';
const KEY = "d7ba7d7818dd3cec9ace78f9ad55722e";
const URL = "api.openweathermap.org/data/2.5";
const CITY = "Paris";
class App extends Component {
constructor(props) {
super(props);
this.state = {
data: {}
};
}
componentDidMount() {
var url = `${URL}/weather?q=${CITY}&APPID=${KEY}&units=metric`;
console.log(url);
fetch(url).then(
response => response.json()
).then(
json => {
console.log(json);
this.setState({data: json});
}
);
}
render() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h1 className="App-title">Welcome to React</h1>
</header>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
</div>
);
}
}
export default App;
Метод рендеринга - это просто рендеринг по умолчанию из create-реакции-приложения, я не менял его. Я добавил только методы constructor и componentDidMount.
Я пытаюсь получить некоторые данные из API OpenWeatherMap, добавить их в состояние и записать в консоль.
Запрос отлично работает в почтальоне, но вызывает эту ошибку в моем приложении:
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Кто-нибудь может мне помочь?