You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React-Native调用Aladhan API获取祈祷时报错求助

解决React Native中获取Aladhan API祈祷时间的问题

看起来你误用了数据结构的访问方式——咱们先拆解下问题根源:

那个Aladhan API返回的data字段不是数组,而是一个包含timings的单个对象!所以你用map遍历(数组专属方法)肯定会报错,你的错误信息也侧面印证了这一点:你尝试访问(responseMsg.data || {}).timings.Fajr,说明data本身是对象而非数组。

正确的访问方式

首先,你可以先通过console.log(responseMsg)打印完整返回结果,确认API的结构大概是这样的:

{
  "code": 200,
  "status": "OK",
  "data": {
    "timings": {
      "Fajr": "04:30",
      "Dhuhr": "12:30",
      // 其他祈祷时间字段...
    },
    // 其他data关联字段...
  }
}

你不需要用map遍历,直接通过对象层级访问即可,同时为了避免undefined引发报错,推荐用**可选链操作符(?.)**做安全访问:

<Text>{responseMsg.data?.timings?.Fajr}</Text>
<Text>{responseMsg.data?.timings?.Dhuhr}</Text>

额外提示

  • 排查这类数据访问问题时,先打印完整的响应对象是最快的方式,能帮你快速确认数据结构是否符合预期。
  • 可选链操作符?.会在某个属性不存在时自动返回undefined,不会抛出错误,很适合处理异步数据加载时的边界情况(比如数据还未返回的状态)。

内容的提问来源于stack exchange,提问作者Zain Shabir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 03:45:32