Uncaught (в обещании) TypeError: Невозможно прочитать свойство 'Station' неопределенного - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть запрос на получение кода моего внешнего интерфейса.

  fetch('/usershop', {
    method: 'GET',
    credentials: 'same-origin',
    headers: {
      'Content-Type': 'application/json'
    }
  })
  .then(res=> res.json())
  .then(res=> {
        var obj = {}
//error found here
        res.map(item=> {
          obj[item["_id"]]={stations: item.locations.stations, position: item.locations.position, yourshopname: item.locations.yourshopname, items: item.items }}
        )
        this.setState({stations: obj})
      })

.catch (err => console.log (err)) }

Когда я console.log "res" после моего последнего .then, я получаю массив объектов. Ниже приведен пример одного из объектов. Другими словами, ниже пункт res. Все они имеют местоположения

0:
accepts:[]
firstname: "jon"
items:[{…}]
lastname:"lee"
locations:{position: Array(2), _id: "3lkj2jt390fgs90", stations: 
"21lkjfoadf0j204j2", yourshopname: "jshop", __v: 0}
messages:[]
password:"kajdflka"
username:"alkklagf"
__v:2
_id:"lkjgaklfjgalkfdjglkaj"
__proto__:Object

Но когда я пытаюсь отобразить его, появляется сообщение об ошибке: не удается прочитать свойство 'Station' из undefined.

Когда я попробовал console.logging item._id и т. Д., Все получилось.

Когда я начал получать ошибку : когда я только работал на localhost, у меня был / build в моем файле gitignore. Все работало нормально. Но я хотел поставить его на облаке геройку. Поэтому я вынул / собрал файл gitignore и запустил npm run build. Как только я это сделал, это перестало работать, даже когда я просто запустил его на своем локальном хосте.

Пожалуйста, помогите! К вашему сведению, мне нужно перевести каждый объект в этот формат, потому что я использую API-интерфейс Mapbox API. https://github.com/alex3165/react-mapbox-gl

1 Ответ

0 голосов
/ 07 сентября 2018

Вы должны создать пустой объект для отображения, прежде чем выполнять запрос на выборку.(например, при монтировании вашего компонента или в конструкторе)

В противном случае функция map пытается отобразить неопределенный объект, поскольку вызов fetch является асинхронным.

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