javascript - react native : Accessing JSON data

标签 javascript json react-native fetch

我正在使用 fetch API 来访问数据,事实证明,当访问我在数据源中设置的数据时,它会返回:

Warning: [TypeError: undefined is not an object(evaluating 'response.data.onwardflights')]

我确信我已正确获取数据,因为我已通过将数据打印到控制台来看到数据。

这是相同的代码!

'use strict';

import React, {Component} from 'react';
import {StyleSheet, View, Text, ListView, ScrollView} from 'react-native';

const ds = new ListView.DataSource({rowHasChanged: (row1, row2) => row1 !== row2});

class BusList extends Component {

    constructor() {
    super();
    // const ds = new ListView.DataSource({rowHasChanged: (row1, row2) => row1 !== row2});
    this.state = {
      dataSource: ds.cloneWithRows([]),
      getData: []
    };
  }

    componentDidMount() {
        this.loadJSONData();
    }

    loadJSONData() {
        fetch('api')
          .then((response) => {
            this.setState({getData: response})
            this.setState({dataSource: ds.cloneWithRows(response.data.onwardflights)})
            return response.json()
          })
          .then((responseJSON) => {
                    console.log(responseJSON)
              return this.setState({dataSource: this.state.dataSource.cloneWithRows(responseJSON)});
          })
          .catch((error) => {
            console.warn(error);
          });
    }

    renderRow(rowData) {
        return (
            <View>
                <Text>{rowData.origin}</Text>
            </View>
        );
    }

    render() {
    return (
        <View>
            <ListView
                dataSource = {this.state.dataSource}
                enableEmptySections = {true}
                renderRow = {(rowData) => <Text>{rowData}</Text>}   
            />
        </View>
    );
  }
}

module.exports = BusList;

任何帮助将不胜感激!

最佳答案

当然,response.data.onwardflights将是未定义,因为您在阅读之前尚未调用response.json()数据。先调用该方法,然后再读取数据。请阅读this article

关于javascript - react native : Accessing JSON data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42343941/

相关文章:

javascript - 在单一条件下检查粘性菜单的 scrollTop 和 id 偏移量

javascript - ReactJS - 如何从 json-server 迁移到 .json 文件?

ios - 如何使用 AlamoFire/ObjectMapper 访问嵌入在 JSON 字典中的链接?

javascript - setState Concat 仅存储/返回第一个值——React Native

javascript - 如何在 perl CGI 脚本中使用 google API?

javascript - 是什么导致 Javascript 在不同的机器上表现不同?

javascript - jquery 自动完成输入字段没有任何反应

javascript - 我无法从 html 中的 json 对象添加表

javascript - 如何防止两个react-native Picker相互影响?

swift - 如何将 react 组件作为 native View 属性传递