RuntimeContext
RuntimeContext 是一个 React Context,用于在组件中获取 Runtime 上下文信息。该 Context 可以通过 React 的 use 或 useContext API 访问。
Warning
useRuntimeContext Hook 已废弃,请使用 use(RuntimeContext) 替代。useRuntimeContext 内部实现为 useContext(RuntimeContext),而 use(RuntimeContext) 是 React 19 推荐的新方式。
使用姿势
类型定义
属性说明
isBrowser:标识当前运行环境是否为浏览器routes:路由配置信息requestContext:请求上下文,包含request和response对象context:已废弃,请使用requestContext替代
RequestContext
RequestContext 是 requestContext 属性的类型,包含请求和响应相关的信息:
注意事项:
response.setHeader和response.status仅在服务端(SSR)可用- 在浏览器端,
response对象可能不包含这些方法 request对象在服务端和浏览器端都可用,但服务端信息更完整
使用示例
区分运行环境
获取请求上下文
开启 SSR 时,在 Node 环境和浏览器端环境可以获取到同构的请求上下文。
稍有不同的是 Node 环境还支持设置响应头、响应码,并提供了 Logger 日志与 Metrics 打点。
Tip
当 SSR 未开启时,仅包含可在浏览器端获取的部分信息。
访问注入的全局数据
通过 Runtime 插件的 onBeforeRender 钩子可以向 RuntimeContext 中注入全局数据: