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

React项目调用API出现TypeError: _ref is undefined问题求助

解决React中API调用时TypeError: _ref is undefined的问题

兄弟,我一眼就瞅出问题所在了!你的API调用函数里有个很容易忽略的小错误——第一个.then块没有返回response.json()的结果,直接导致第二个.then拿到的是undefined,这时候你尝试解构{data}自然就触发TypeError: _ref is undefined的报错了。

问题根源

JavaScript的.then方法会把当前回调函数的返回值作为下一个.then的输入参数。如果你的回调里没有显式写return,默认就会返回undefined。你现在的代码里,第一个.then只是调用了response.json(),但没把这个Promise对象返回出去,所以第二个.then接收的参数是undefined,解构{data}就相当于从undefined里读取属性,这不报错才怪!

修正后的代码

只需要在第一个.then里加上return,或者用更简洁的箭头函数写法(箭头函数如果只有一行代码可以省略大括号和return):

callDB(){
 fetch('http://localhost:4000/lista')
 // 写法1:显式return
 .then((response)=>{ return response.json() })
 // 写法2:简化箭头函数(更推荐)
 // .then(response => response.json())
 .then(({data})=>{ console.log(data); })
 .catch((err)=>{console.log(err);});
}

额外调试建议

为了确保后端返回的结构符合你的预期,建议先在第二个.then里打印完整的返回数据,确认是否真的有data字段:

.then((responseData)=>{ 
  console.log('服务器返回的完整数据:', responseData);
  console.log('data字段内容:', responseData.data); 
})

这样能帮你排查是不是后端返回的JSON结构和你预想的不一样,比如后端可能直接返回了数组,而不是包含data属性的对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:09:56