2017-02-03 5 views
2

Когда я использовал SuperAgent, у меня не было этой проблемы, но я решил использовать Window.fetch polifyl, и я встретил эту проблему. Я вижу, что все данные были загружены, но все еще показывает ошибку. Может мне вашу помощи определить эту ошибку, пожалуйста: Screen ShotReact + Fetch + Json. TypeError: Не могу прочитать свойство undefined

В визуализации() Я genereate списка компонентов, основанных на полученный список:

render() { 

    if (this.state.data.list) { 
     console.log("render: " + this.state.data.list); 
     var counter = 0; 
     const list = this.state.data.list.map((item) => { 
.... 
+0

Вы не закрываете 1-й последующий вызов. –

+0

Я предполагаю, что это так: после получения ответа, отправил этот ответ на следующую функцию и результат этой функции, я отправлю на следующую функцию, но я не получил никакого результата. Это означает, что я не передаю никакие данные без возвращаемого значения из функций в цепочке функций .... –

ответ

4

Обработчики обещают в скриншоте не будут работать:

.then((json) => console.log('parsed json: ', json)) 
.then((json) => { this.setState({ data: json }); }) 

«Примите значение от решения этого обещания и передать его console.log. Затем, возьмите возвращаемое значение console.log (который является undefined) и передать его в this.setState ".

+0

Благодарим за подсказку! 'извлечь (URL, { заголовки: { 'Accept': 'приложения/JSON', }, }). Затем ((ответ) => response.json() .catch (ERR => { console.err ('' $ {err} 'произошло! '); return {}; })) .then ((json) => { console.log (' parsed json: ', json); this.setState ({data: json}) }) .catch ((err) => {console.log (запрос на выбор не выполнен: ', err)} ) ' –

2
fetch(url, { 
     headers: { 
      'Accept': 'application/json', 
     }, 
    }).then((response) => response.json() 
     .catch(err => { 
      console.err(`'${err}' happened!`); 
      return {}; 
     })) 
     .then((json) => { 
      console.log('parsed json: ', json); 
      this.setState({ data: json }) 
     }) 
     .catch((err) => { console.log('fetch request failed: ', err) } 
     ) 

 Смежные вопросы

  • Нет связанных вопросов^_^