当在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>
);
}
1条答案
按热度按时间6ss1mwsb1#
我认为这是一个服务器组件。然后错误将显示在服务器日志中,而不是浏览器。
如果你从命令行本地运行它,你应该在那里看到它。