Zadaj pytanie i otrzymaj streszczenie dokumentu, odwołując się do tej strony i wybranego dostawcy AI
Treść tej strony została przetłumaczona przy użyciu sztucznej inteligencji.
Zobacz ostatnią wersję oryginalnej treści w języku angielskimJeśli masz pomysł na ulepszenie tej dokumentacji, zachęcamy do przesłania pull requesta na GitHubie.
Link do dokumentacji na GitHubieKopiuj dokument Markdown do schowka
Hook useRewriteURL
Hook useRewriteURL został zaprojektowany do zarządzania lokalizowanymi przekierowaniami URL po stronie klienta. Automatycznie wykrywa, czy bieżący URL powinien zostać poprawiony do „ładnej” zlokalizowanej wersji w oparciu o lokalizację użytkownika oraz reguły przepisywania zdefiniowane w intlayer.config.ts.
W przeciwieństwie do standardowej nawigacji, hook ten używa window.history.replaceState do aktualizacji adresu URL w pasku adresu bez wywoływania pełnego przeładowania strony ani cyklu nawigacji routera.
Użycie
Po prostu wywołaj hook w komponencie po stronie klienta.
Jak to działa
- Wykrywanie: Hook monitoruje bieżący
window.location.pathnameorazlocaleużytkownika. - Dopasowywanie: Korzysta z wewnętrznego silnika Intlayer, aby sprawdzić, czy bieżący pathname pasuje do kanonicznej trasy, która ma ładniejszy zlokalizowany alias dla bieżącego
locale. - Korekta adresu URL: Jeśli zostanie znaleziony lepszy alias (i różni się od bieżącej ścieżki), hook wywołuje
window.history.replaceState, aby zaktualizować URL w przeglądarce przy zachowaniu tej samej kanonicznej zawartości i stanu.
Dlaczego warto z tego korzystać?
- SEO: Zapewnia, że użytkownicy zawsze trafiają na pojedynczy, autorytatywny pretty URL dla danego języka.
- Spójność: Zapobiega niezgodnościom, gdy użytkownik ręcznie wpisze kanoniczną ścieżkę (np.
/fr/privacy-notice) zamiast zlokalizowanej wersji (/fr/politique-de-confidentialite). - Wydajność: Aktualizuje pasek adresu bez wywoływania niepożądanych efektów ubocznych routera lub ponownego montowania komponentów.