基于 React Router 的路由实例,用于在流程中通过代码进行导航。
Router 来自 @remix-run/router。
ctx.router 是 React Router 的 Router 实例,在 RunJS 环境中提供导航能力。通过 ctx.router.navigate() 可以跳转到指定路径、替换当前路由或传递 state 数据。
跳转到目标路径。
签名:
参数:
to:目标路径(string)、相对历史位置(number,如 -1 表示后退)或 null(刷新当前页)options:可选配置
replace?: boolean:是否替换当前历史记录(默认 false,即 push 新记录)state?: any:传递给目标路由的 state。该数据不会出现在 URL 中,可在目标页通过 ctx.location.state 访问,适用于敏感信息、临时数据或不宜放在 URL 中的信息示例:
navigate() 默认会 push 新历史记录,用户可通过浏览器后退返回replace: true 会替换当前历史记录而不新增,适用于登录后重定向等场景state 参数:
state 传递的数据不会出现在 URL 中,适合敏感或临时数据ctx.location.state 访问state 会保存在浏览器历史中,前进/后退时仍可访问state 会丢失