Dieses Dokument wurde von KI übersetzt. Für genaue Informationen lesen Sie bitte die englische Version.
ctx.router
Eine auf React Router basierende Router-Instanz zur programmatischen Navigation innerhalb von RunJS. Sie wird üblicherweise in Kombination mit ctx.route und ctx.location verwendet.
Anwendungsfälle
Hinweis:
ctx.routerist nur in RunJS-Umgebungen mit einem Routing-Kontext verfügbar (z. B. JSBlock innerhalb einer Seite, Flow-Seiten, Ereignisflüsse usw.); in reinen Backend-Kontexten oder Kontexten ohne Routing (z. B. Workflows) kann dieser Wert null sein.
Typdefinition
Router stammt aus @remix-run/router. In RunJS werden Navigationsoperationen wie Springen, Zurückgehen und Aktualisieren über ctx.router.navigate() implementiert.
Methoden
ctx.router.navigate()
Navigiert zu einem Zielpfad oder führt eine Zurück-/Aktualisierungsaktion aus.
Signatur:
Parameter:
to: Zielpfad (String), relative Position in der Historie (Number, z. B.-1für Zurück) odernull(zum Aktualisieren der aktuellen Seite).options: Optionale Konfiguration.replace?: boolean: Ob der aktuelle Historieneintrag ersetzt werden soll (Standard istfalse, was einen neuen Eintrag hinzufügt).state?: any: State, der an die Zielroute übergeben wird. Diese Daten erscheinen nicht in der URL und können auf der Zielseite überctx.location.stateabgerufen werden. Dies eignet sich für sensible Informationen, temporäre Daten oder Informationen, die nicht in der URL stehen sollten.
Beispiele
Einfache Navigation
Historie ersetzen (Kein neuer Eintrag)
State übergeben
Zurückgehen und Aktualisieren
Beziehung zu ctx.route und ctx.location
ctx.router ist für „Navigationsaktionen“ zuständig, während ctx.route und ctx.location für den „aktuellen Routenstatus“ verantwortlich sind.
Hinweise
navigate(path)fügt standardmäßig einen neuen Historieneintrag hinzu, sodass Benutzer über die Zurück-Schaltfläche des Browsers zurückkehren können.replace: trueersetzt den aktuellen Historieneintrag, ohne einen neuen hinzuzufügen. Dies eignet sich für Szenarien wie die Weiterleitung nach dem Login oder die Navigation nach einer erfolgreichen Übermittlung.- Zum Parameter
state:- Daten, die über
stateübergeben werden, erscheinen nicht in der URL, was sie für sensible oder temporäre Daten geeignet macht. - Der Zugriff erfolgt über
ctx.location.stateauf der Zielseite. statewird in der Browser-Historie gespeichert und bleibt bei der Vorwärts-/Rückwärtsnavigation zugänglich.- Nach einer harten Aktualisierung der Seite geht der
stateverloren.
- Daten, die über
Verwandte Themen
- ctx.route: Informationen zur aktuellen Routenübereinstimmung (pathname, params usw.).
- ctx.location: Aktueller URL-Standort (pathname, search, hash, state); der
statewird hier nach der Navigation gelesen.

