为了账号安全,请及时绑定邮箱和手机立即绑定

在 componentDidMount 中设置状态时,React 应用程序不显示来自 api 的数据

在 componentDidMount 中设置状态时,React 应用程序不显示来自 api 的数据

MM们 2023-09-28 17:07:54
当从 Laravel 控制器返回响应时,例如return response()->json([    'status' => true,    'message' => 'success',    'cat_products' => $cat_products,    'cat_count' => $cat_count]);然后,实际数组可在 javascript 端的 response.data 键下使用。由于您在 if 语句中进行松散比较,因此它与 response.status: 200 进行比较,而不是与您"status" => true在 json 响应中提供的比较if (response.status == true) {    //response.data should contain the data sent as response from controller    console.log(response.data);         //response.cat_products.forEach(filter); //filter is a function    response.data.cat_products.forEach(filter);  //this should work}
查看完整描述

2 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

由于您返回的是一个数组而不是一个对象,因此getPagedData您需要将其更新componentDidMount为:


componentDidMount(){

  const [aircrafts, totalCount] = this.getPagedData();

  this.setState({ aircrafts, totalCount });

}


查看完整回答
反对 回复 2023-09-28
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

getPageData函数中,您返回一个数组。但你正在解构一个对象

return [ aircrafts, totalCount ];

而不是这个

return { aircrafts, totalCount };


查看完整回答
反对 回复 2023-09-28
  • 2 回答
  • 0 关注
  • 73 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信