next.js 下一个应用程序正确的用户界面显示错误的状态代码在客户端

yrwegjxp  于 2023-10-18  发布在  其他
关注(0)|答案(1)|浏览(121)

当在RSC中发出一个fetch请求时(返回500),我在RSC中抛出一个error,这样我就呈现了一个error ui。
在我的网络选项卡中,我希望看到状态代码500。
有人能解释一下为什么不是这样。
但是,如果我从下一个导航调用notFound(),我确实会在网络选项卡中的文件旁边看到404状态代码
我有以下文件:

  • app/page.tsx
  • app/error.tsx -“使用客户端”
  • 布局呈现html标记,该标记将page.tsx呈现为子级

Page.tsx

export default async function SomePage(props) {
  const id = props.params.id;

  if (!id) notFound();

  // some fetch function to return error wihth statuscode 500
  const { data, error } = await someFetchFunction(id);

  // throwing error shows error.tsx
  if (error) throw new Error("Internal Server Error");

  return (
    <div>
      <h1>Hello World</h1>
      {data.map((item) => (
        <div key={item.id}>{item.name}</div>
      ))}
    </div>
  );
}
6ss1mwsb

6ss1mwsb1#

我认为这是一个服务器组件。然后错误将显示在服务器日志中,而不是浏览器。
如果你从命令行本地运行它,你应该在那里看到它。

相关问题