【问题标题】:How to Fetch APIs and Print first element in response Array?如何获取 API 并打印响应数组中的第一个元素?
【发布时间】:2018-11-10 19:04:27
【问题描述】:

我的 React Native 应用程序获取 API 数据,我需要打印响应的第一个索引,但它不是,并获取所有“臭氧”,例如在父数组的所有子元素中,当我打印 val[0] 时映射我没有打印任何东西

我的代码|

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.log(responseJson.data);`的输出是什么?
  • @Akrion我有一个对象数组
  • @Akrion 检查更新问题

标签: javascript reactjs api react-native fetch


【解决方案1】:

你可能是对象的第一个键。

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

你也可以使用

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

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

【讨论】:

  • 不,我需要在包含 16 个对象的孔响应数组中打印对象编号 1,然后打印该对象的元素 num 1 查看 Q 中的最后一个屏幕截图
  • 所以你需要一个 obj 键的数组,然后才可以通过索引获得第一个
  • 嗯,你能操纵你的代码“obj[Object.keys(obj)[0]];”并输入我的代码?
  • 哦,我做到了:D,谢谢你,兄弟!
  • 好的,但是我有一点问题你能帮我解决这个错误吗?目前不支持在文本中嵌套视图?我只是放了一些带有父视图响应的文本
猜你喜欢
  • 2021-01-31
  • 2022-11-19
  • 1970-01-01
  • 2011-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-25
  • 1970-01-01
相关资源
最近更新 更多