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

React调用Django Rest Framework数据时出现属性读取未定义错误

问题解决思路

核心原因

你打印的props.user1是数组类型,数组本身没有username属性,你要访问的是数组里第一个对象的username;另外从Django Rest Framework获取数据是异步操作,组件初始渲染时user1可能还没拿到数据(是空数组/undefined),直接访问属性就会触发报错。

解决方法

1. 正确访问数组内的对象属性

因为user1是数组,要先取数组元素再访问属性,同时用可选链操作符处理初始数据未加载的情况:

console.log(props.user1[0]?.username)

2. 加条件渲染/判断

如果要在组件中使用这个属性,先判断数组是否有内容,避免空数组报错:

// 组件内渲染示例
return (
  <div>
    {props.user1.length > 0 && <p>{props.user1[0].username}</p>}
  </div>
)

3. 确保父组件初始状态合理

在父组件初始化状态时,把user1设为空数组,避免初始值为undefined:

// 父组件状态初始化
const [user1, setUser1] = useState([]);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 04:42:03