Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Der Inhalt dieser Seite wurde mit einer KI übersetzt.
Den englischen Originaltext ansehenIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
useRewriteURL Hook
Der useRewriteURL-Hook dient zur Verwaltung lokalisierter URL-Umleitungen auf der Client-Seite. Er erkennt automatisch, ob die aktuelle URL basierend auf der Nutzer-Locale und den in intlayer.config.ts definierten Rewrite-Regeln auf eine "schönere" lokalisierte Version korrigiert werden sollte.
Im Gegensatz zur standardmäßigen Navigation verwendet dieser Hook window.history.replaceState, um die URL in der Adressleiste zu aktualisieren, ohne einen vollständigen Seitenreload oder einen Router-Navigationszyklus auszulösen.
Verwendung
Rufen Sie den Hook einfach in einer clientseitigen Komponente auf.
Kopieren Sie den Code in die Zwischenablage
import { useRewriteURL } from "react.intlayer";const MyComponent = () => { // Korrigiert automatisch /fr/tests zu /fr/essais in der Adressleiste, falls eine Rewrite-Regel existiert useRewriteURL(); return <div>Meine Komponente</div>;};Wie es funktioniert
- Erkennung: Der Hook überwacht den aktuellen
window.location.pathnameund dielocaledes Benutzers. - Abgleich: Er verwendet die interne Intlayer-Engine, um zu prüfen, ob der aktuelle Pfad mit einer kanonischen Route übereinstimmt, die für die aktuelle Locale ein schöneres lokalisiertes Alias besitzt.
- URL-Korrektur: Wenn ein besseres Alias gefunden wird (und es sich vom aktuellen Pfad unterscheidet), ruft der Hook
window.history.replaceStateauf, um die Browser-URL zu aktualisieren und dabei denselben kanonischen Inhalt und Zustand beizubehalten.
Warum verwenden?
- SEO: Stellt sicher, dass Nutzer stets auf der einzigen, maßgeblichen „schönen“ URL für eine bestimmte Sprache landen.
- Konsistenz: Verhindert Inkonsistenzen, bei denen ein Nutzer manuell einen kanonischen Pfad eingibt (z. B.
/fr/privacy-notice) statt der lokalisierten Version (/fr/politique-de-confidentialite). - Performance: Aktualisiert die Adresszeile, ohne unerwünschte Router-Nebenwirkungen oder ein erneutes Mounten von Komponenten auszulösen.