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

React Native TypeError问题咨询:访问API数据深层属性报错

解决React初始渲染时访问异步数据子属性报错的问题

问题原因

初始渲染阶段,data状态还未通过异步请求获取到数据,此时data为undefined(若未设置初始值)。直接访问data.TCMB_AnlikKurBilgileri[0].Isim相当于在undefined上读取嵌套属性,必然触发类型错误。而热重载时,之前的请求已完成,data已存储了API返回的数据,所以能正常访问。

解决方案

  • 给状态设置初始默认值
    初始化data时,提供一个匹配API返回结构的空值,避免初始阶段属性不存在:

    const [data, setData] = useState({ TCMB_AnlikKurBilgileri: [] });
    
  • 使用可选链操作符安全访问
    通过?.操作符跳过中间值为undefined/null的情况,避免报错:

    console.log(data?.TCMB_AnlikKurBilgileri?.[0]?.Isim);
    
  • 添加条件判断后再访问
    确认数据已加载完成后,再执行属性访问:

    if (data?.TCMB_AnlikKurBilgileri?.length) {
      console.log(data.TCMB_AnlikKurBilgileri[0].Isim);
    }
    
  • 监听状态变化执行操作
    若需要在数据更新时自动打印,可新增监听data的useEffect:

    useEffect(() => {
      if (data?.TCMB_AnlikKurBilgileri?.length) {
        console.log(data.TCMB_AnlikKurBilgileri[0].Isim);
      }
    }, [data]);
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 00:25:28