Как получить массив внутри объекта? - PullRequest
0 голосов
/ 01 мая 2018

Я использую response-redux для получения своих данных API и помещения данных в мой FlatList. Я знаю, что должен поместить массив в мою FlatList data функцию.

Но я не знаю, как анализировать свои данные ...

Я пытаюсь const movieData = this.props.movieList[0].movie; не работает.

Как мне разобрать данные, если я хочу поместить массив movie в мой FlatList?

Любая помощь будет оценена. Заранее спасибо.

Вот мой API https://obscure -reaches-65656.herokuapp.com / api? City = Тайбэй и театр = 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 голосов
/ 01 мая 2018

Ваш ответ API поступит в массив. И у массива есть объект. Вы можете оценить фильм данные, как показано ниже:

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

Вот вызов API для вашего URL:

 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);
                });
...