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

Angular报错TypeError:无法读取undefined的'State'属性求助

Angular路由开发中API数据获取错误排查

错误信息

users.component.ts:15 ERROR TypeError: Cannot read properties of undefined (reading 'State')
    at Object.next (users.component.ts:17:40)
    at ConsumerObserver.next (Subscriber.js:91:33)
    at SafeSubscriber._next (Subscriber.js:60:26)
    at SafeSubscriber.next (Subscriber.js:31:18)
    at map.js:7:24
    at OperatorSubscriber._next (OperatorSubscriber.js:13:21)
    at OperatorSubscriber.next (Subscriber.js:31:18)
    at filter.js:6:128
    at OperatorSubscriber._next (OperatorSubscriber.js:13:21)
    at OperatorSubscriber.next (Subscriber.js:31:18)

问题代码

ngOnInit(): void {
    //Fetch Users
    this.userService.getAllUsers()
    .subscribe(
      (successResponse)=>{
        console.log(successResponse[0].State);
      },
    (errorResponse)=>{
      console.log(errorResponse);
    }

    )

  }

排查与解决

错误核心是successResponse[0]为undefined,说明你误将API响应当成数组直接访问,但实际响应是包含data数组的外层对象。

解决步骤:

  • 先打印完整响应结构,确认数据层级:
    console.log(successResponse);
    
  • 根据实际结构调整访问路径,比如响应格式为{ data: [/* 用户数组 */] },则修改代码:
    console.log(successResponse.data[0].State);
    
  • 为避免后续空指针异常,建议添加可选链操作符做安全访问:
    console.log(successResponse?.data?.[0]?.State);
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 02:15:36