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 ansehenWenn Sie eine Idee haben, um diese Dokumentation zu verbessern, zögern Sie bitte nicht, durch das Einreichen eines Pull-Requests auf GitHub beizutragen.
GitHub-Link zur DokumentationMarkdown des Dokuments in die Zwischenablage kopieren
useRewriteURL-Hook
Der useRewriteURL-Hook für SolidJS ist dafür vorgesehen, lokalisierte URL-Umschreibungen auf der Client-Seite zu verwalten. Er korrigiert automatisch die URL im Browser auf ihre „schöne“ lokalisierte Version basierend auf der aktuellen Locale und der Konfiguration in intlayer.config.ts.
Durch die Verwendung von window.history.replaceState werden redundante Navigationsvorgänge des Solid Router vermieden.
Verwendung
Rufen Sie den Hook innerhalb einer Komponente auf, die Teil Ihrer Anwendung ist.
Wie es funktioniert
- Erkennung: Der Hook verwendet
createEffect, um Änderungen des reaktivenlocale()zu überwachen. - Abgleich: Er prüft, ob der aktuelle
window.location.pathnameeiner kanonischen Route entspricht, die für die aktuelle Sprache ein ansprechenderes lokales Alias besitzt. - URL-Korrektur: Wenn ein ansprechenderes Alias gefunden wird, ruft der Hook
window.history.replaceStateauf, um die Adressleiste zu aktualisieren, ohne den internen Navigationszustand zu beeinflussen oder Neurenderings von Komponenten auszulösen.
Warum es verwenden?
/// Kanonische URLs: Erzwingt eine einzige URL für jede lokalisierte Version Ihrer Inhalte, was für SEO entscheidend ist.
- Entwicklerkomfort: Ermöglicht es Ihnen, Ihre internen Routendefinitionen kanonisch zu halten, während Sie nach außen benutzerfreundliche, lokalisierte Pfade bereitstellen.
- Konsistenz: Korrigiert URLs, wenn Benutzer manuell einen Pfad eingeben, der nicht Ihren bevorzugten Lokalisierungsregeln entspricht.