React Fetch Не удается прочитать свойство 'map' из неопределенного - PullRequest
0 голосов
/ 08 мая 2019

Я получаю 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...