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

NextJs中getStaticProps未返回对象错误求助

解决Next.js getStaticProps未返回对象的错误

问题根源

  1. catch块无返回值:当API请求失败进入catch逻辑时,函数没有返回任何符合要求的对象,触发getStaticProps function did not return an object错误。
  2. await与then混用:异步代码写法冗余,既用了await又嵌套then链,容易导致逻辑混乱。

修复方案

1. 确保函数始终返回对象

无论请求成功或失败,getStaticProps必须返回包含props的对象。在catch块中添加return语句,返回默认数据或错误状态。

2. 统一异步代码风格

去掉then链,只用await处理异步操作,让代码结构更清晰。

修正后的代码

export async function getStaticProps(context) {
  try {
    const res = await fetch(ApiLinks.players.all);
    const jsonResponse = await res.json();
    const teamMembers = jsonResponse.data.teamMembers;

    const responsePlayers = teamMembers.players;
    const responseStaff = teamMembers.staff;

    return {
      props: {
        responsePlayers,
        responseStaff,
      },
    };
  } catch (err) {
    console.error(err);
    // 请求失败时返回空数组作为默认值,避免页面报错
    return {
      props: {
        responsePlayers: [],
        responseStaff: [],
      },
    };
  }
}

关键修改说明

  • 拆分fetch请求和JSON解析为独立的await调用,代码逻辑更直观
  • catch块添加return语句,保证函数始终返回符合Next.js要求的结构
  • 优化变量命名(如teamMembers),提升代码可读性和可维护性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 16:45:33