如何在对象内部获取数组?

时间:2018-05-01 05:03:32

标签: react-native react-redux fetch

我使用react-redux来获取我的API数据并将数据放入我的FlatList。我知道我必须在我的FlatList data功能中添加一个数组。

但我不知道如何解析我的数据...

我尝试const movieData = this.props.movieList[0].movie;无效。

如果我想将movie数组放入我的FlatList,我如何解析数据?

任何帮助将不胜感激。提前谢谢。

这是我的API https://obscure-reaches-65656.herokuapp.com/api?city=Taipei&theater=Centuryasia

这是我的组件render功能:

  render() {
    console.log('render');
    console.log(this.props.movieList[0]);
    const movieData = this.props.movieList[0];

    return (
      <View style={{ flex: 1 }}>
        <FlatList
          data={movieData}
          renderItem={this.renderItem} 
          numColumns={1}
          horizontal={false}
          keyExtractor={(item, index) => index} 
        />
      </View>
    );
  }

这是我的console.log enter image description here

1 个答案:

答案 0 :(得分:1)

你的api响应将会出现在阵列中。并且Array有对象。您可以评估电影数据,如下所示:

 let data = response.data;
 console.log(JSON.stringify(data));
 let movie = data[0]['movie'];
 console.log('====================================')
 console.log(JSON.stringify(movie));

以下是您的网址的API调用:

 const axios = require('axios');
                const apiURL = 'https://obscure-reaches-65656.herokuapp.com/api?city=Taipei&theater=Centuryasia';

                axios({
                    method: 'get',
                    url: apiURL,
                    headers: {
                        'Content-Type': 'Application/json',
                    }
                }).then((response) => {
                    const success = response.status;
                    let data = response.data;
                    console.log(JSON.stringify(data));
                    let movie = data[0]['movie'];
                    console.log('====================================')
                    console.log(JSON.stringify(movie));
                }).catch((error) => {
                    alert(error);
                });