Este documento ha sido traducido por IA. Para información precisa, consulte la versión en inglés.
ctx.router
Instancia de enrutador basada en React Router, utilizada para la navegación mediante código dentro de RunJS. Generalmente se utiliza en conjunto con ctx.route y ctx.location.
Casos de uso
Nota:
ctx.routersolo está disponible en entornos RunJS que cuenten con un contexto de enrutamiento (por ejemplo, JSBlock dentro de una página, páginas de flujo, flujos de eventos, etc.); puede ser nulo en contextos puramente de backend o sin enrutamiento (como los flujos de trabajo).
Definición de tipo
Router proviene de @remix-run/router. En RunJS, las operaciones de navegación como saltar, retroceder y actualizar se implementan a través de ctx.router.navigate().
Métodos
ctx.router.navigate()
Navega hacia una ruta de destino o ejecuta una acción de retroceso/actualización.
Firma:
Parámetros:
to: Ruta de destino (string), posición relativa en el historial (number, por ejemplo,-1para retroceder) onull(para actualizar la página actual).options: Configuración opcional.replace?: boolean: Indica si se debe reemplazar la entrada actual en el historial (el valor predeterminado esfalse, lo que añade una nueva entrada).state?: any: Estado que se pasará a la ruta de destino. Estos datos no aparecen en la URL y se puede acceder a ellos mediantectx.location.stateen la página de destino. Es adecuado para información sensible, datos temporales o información que no deba colocarse en la URL.
Ejemplos
Navegación básica
Reemplazar el historial (sin nueva entrada)
Pasar un state
Retroceder y actualizar
Relación con ctx.route y ctx.location
ctx.router es responsable de las "acciones de navegación", mientras que ctx.route y ctx.location son responsables del "estado de la ruta actual".
Notas
navigate(path)añade una nueva entrada al historial por defecto, permitiendo a los usuarios regresar mediante el botón de retroceso del navegador.replace: truereemplaza la entrada actual del historial sin añadir una nueva, lo cual es adecuado para escenarios como la redirección tras el inicio de sesión o la navegación tras un envío exitoso.- Sobre el parámetro
state:- Los datos pasados a través de
stateno aparecen en la URL, lo que los hace adecuados para datos sensibles o temporales. - Se puede acceder a ellos mediante
ctx.location.stateen la página de destino. statese guarda en el historial del navegador y permanece accesible durante la navegación hacia adelante o hacia atrás.- El
statese perderá tras una actualización completa de la página.
- Los datos pasados a través de
Relacionado
- ctx.route: Información de coincidencia de la ruta actual (pathname, params, etc.).
- ctx.location: Ubicación actual de la URL (pathname, search, hash, state); el
statese lee aquí después de la navegación.

