Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
ctx.router
Uma instância de roteador baseada no React Router, usada para navegação programática dentro do RunJS. Geralmente é utilizada em conjunto com ctx.route e ctx.location.
Casos de Uso
Nota: O
ctx.routerestá disponível apenas em ambientes RunJS que possuem um contexto de roteamento (ex: JSBlock dentro de uma página, páginas de Fluxo, fluxos de eventos, etc.); ele pode ser nulo em contextos puramente de backend ou sem roteamento (ex: Fluxos de trabalho).
Definição de Tipo
O Router é derivado do @remix-run/router. No RunJS, operações de navegação como ir para uma página, voltar e atualizar são implementadas via ctx.router.navigate().
Métodos
ctx.router.navigate()
Navega para um caminho de destino ou executa uma ação de voltar/atualizar.
Assinatura:
Parâmetros:
to: Caminho de destino (string), posição relativa no histórico (number, ex:-1para voltar) ounull(para atualizar a página atual).options: Configuração opcional.replace?: boolean: Se deve substituir a entrada atual no histórico (o padrão éfalse, que adiciona uma nova entrada/push).state?: any: Estado a ser passado para a rota de destino. Estes dados não aparecem na URL e podem ser acessados viactx.location.statena página de destino. É adequado para informações sensíveis, dados temporários ou informações que não devem ser colocadas na URL.
Exemplos
Navegação Básica
Substituindo o Histórico (Sem nova entrada)
Passando State
Voltar e Atualizar
Relação com ctx.route e ctx.location
O ctx.router é responsável pelas "ações de navegação", enquanto o ctx.route e o ctx.location são responsáveis pelo "estado da rota atual".
Notas
navigate(path)adiciona uma nova entrada no histórico por padrão, permitindo que os usuários retornem através do botão voltar do navegador.replace: truesubstitui a entrada atual do histórico sem adicionar uma nova, o que é adequado para cenários como redirecionamento pós-login ou navegação após submissão bem-sucedida.- Sobre o parâmetro
state:- Os dados passados via
statenão aparecem na URL, tornando-os adequados para dados sensíveis ou temporários. - Podem ser acessados via
ctx.location.statena página de destino. - O
stateé salvo no histórico do navegador e permanece acessível durante a navegação para frente/para trás. - O
stateserá perdido após uma atualização forçada (refresh) da página.
- Os dados passados via
Relacionados
- ctx.route: Informações de correspondência da rota atual (pathname, params, etc.).
- ctx.location: Localização da URL atual (pathname, search, hash, state); o
stateé lido aqui após a navegação.

