HttpStatusCode
编辑此页面HttpStatusCode
在服务器端渲染时为页面响应设置 HTTP 状态码。
为未匹配路由设置 404 状态码
在页面渲染过程中,你可能想根据具体情况为 Response
设置状态码。
HttpStatusCode
组件通过接收传入的 code
并将其设置为浏览器中的 Response
状态来实现这一功能。
由于 HttpStatusCode
只是一个组件,它可以与 ErrorBoundary
、Show
、Switch
或其他任何 JSX 控制流组件一起使用。
这意味着用于决定渲染内容的逻辑可以同时用于设置状态码,使这些逻辑能够放在一起。
状态码对于缓存和 SEO 等功能来说是重要的工具,因此发送有意义的状态码是一个好的实践。
例如,对于 NotFound
页面,你应该发送 404
状态码。
为动态路由中的缺失页面设置 404 状态码
在使用动态路由参数时,如果某个段的给定参数指向缺失的资源,设置 404 状态码是很重要的。 通常,在使用该参数进行异步请求时会发现参数缺失。
可以从这些获取器内部抛出错误,并由访问数据位置最近的 <ErrorBoundary>
组件捕获。
<HttpStatusCode>
与错误边界配合得很好,因为你可以在 ErrorBoundary 的 fallback 中检查错误。
如果获取器抛出表示数据未找到的错误,你可以渲染 <HttpStatusCode code={404} />
。
注意,当流式响应 renderStream
时,HTTP 状态只有在流首次刷新之前添加才能被包含。
对于需要在响应之前加载的任何资源调用,添加 deferStream
很重要。
参数
属性 | 类型 | 描述 |
---|---|---|
code | number | HTTP 状态码 |