Я получаю Cannot read property 'map' of undefined
в своем приложении React - хотя обычно это означает, что я ищу неправильный тип данных (например, объект против массива), я не могу console.log URL моего API , что заставляет меня думать, что что-то еще не так.
Вот мой код, все есть в моем файле App.js, поэтому нет проблем с вызовом других компонентов или чего-либо еще:
import React, { Component } from 'react';
import './App.css';
const APIURL = `https://api.openbrewerydb.org/breweries?`;
const citySearch = `by_state=new_york`;
class App extends Component {
constructor() {
super()
this.state = {
error: null,
isLoaded: false,
breweries: []
};
}
componentDidMount() {
fetch(APIURL + citySearch)
.then(res => res.json())
.then(
(result) => {
this.setState({
isLoaded: true,
breweries: result.breweries
});
},
(error) => {
this.setState({
isLoaded: true,
error
});
}
)
}
render() {
const { error, isLoaded, breweries } = this.state;
if (error) {
return <div>Error: {error.message}</div>;
} else if (!isLoaded) {
return <div>Loading...</div>;
} else {
return (
<ul>
{breweries.map(brewery => (
<li key={brewery.id}>
{brewery.name} {brewery.city}
</li>
))}
</ul>
);
}
}
}
export default App;
Вот данные, которые я пытаюсь получить - если я скопирую и вставлю свой APIURL в свой браузер, я получу данные - поэтому я не уверен, откуда приходит undefined
:
[{"id":4581,"name":"Adirondack Toboggan Company Microbrewery","brewery_type":"micro","street":"202A W Main St","city":"Gouverneur","state":"New York","postal_code":"13642-1334","country":"United States","longitude":"-75.4748923846074","latitude":"44.3323731052224","phone":"3157716313","website_url":"http://www.adktoboggan.net","updated_at":"2018-08-24T15:37:58.899Z","tag_list":[]}, (AND SO ON)...
Поскольку я только что запустил это приложение, я просто пытаюсь убедиться, что мой запрос на выборку работает, чтобы я мог создавать компоненты.
Получаю ли я undefined
из-за того, как я ищу данные (что, похоже, является решением других вопросов, таких как мой), или происходит что-то еще, что мешает мне даже записать мой APIURL
const?