如何获取API并在响应数组中打印第一个元素?

时间:2018-11-10 19:04:27

标签: javascript reactjs api react-native fetch

我的React Native应用程序获取API数据,我需要打印第一个响应索引,但不是,并且例如在父Array的所有子对象中以及在我打印val [0]时获取所有的“臭氧”映射我什么都没打印

the Result I need just one of them

我的代码|

export default class App extends Component {
    constructor(props) {
      super(props);
      this.state = { isLoading: true, dataSource: null };
    }
    async componentDidMount() {
        let API_WEATHER =
              "https://api.weatherbit.io/v2.0/forecast/daily?city=Raleigh,NC&key={API_KEY}";
        fetch(API_WEATHER)
           .then(response => response.json())
           .then(responseJson => {
               console.log(responseJson.data);
               this.setState({
                 isLoading: false,
                 dataSource: responseJson.data
               });
           })
          .catch(error => {
            console.log(error);
       });
    }   
  render() {
    if (this.state.isLoading) {
      return (
        <View style={{ flex: 1, padding: 20 }}>
          <ActivityIndicator size="large" />
        </View>
      );
   }
  let weather= this.state.dataSource.map((val, key) => {
      return (
         <Text key={key}>
            {val.ozone}
         </Text>
      );
 });
return (
    <ScrollView style={styles.container}>
        <ScrollView>
           <View>
              <Text>{weather}</Text>
           </View>
        </ScrollView>
    </ScrollView>
   ); 
 }

在代码的这一部分中,当我记录响应的JSON obj

    .then(responseJson => {
            console.log(responseJson.data);
            console.log(responseJson.data[0]);
            console.log(responseJson.data[0].datetime);
}

我有我需要的东西,但是当在View中打印它们时,我看到了Erroe 看图片

Console

1 个答案:

答案 0 :(得分:0)

您可能是对象的第一把钥匙。

obj[Object.keys(obj)[0]];

还可以使用

在循环中尝试for…并在第一次迭代后中断

for (var prop in object) {
    // object[prop]
    break;
}