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 angielskimIf 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
Hook useRewriteURL
Hook useRewriteURL dla SolidJS został stworzony do zarządzania lokalizowanym przepisywaniem URL po stronie klienta. Automatycznie poprawia URL w przeglądarce do jego "ładnej" zlokalizowanej wersji w oparciu o aktualny locale i konfigurację w intlayer.config.ts.
Dzięki użyciu window.history.replaceState unika zbędnych nawigacji Solid Router.
Użycie
Wywołaj hook wewnątrz komponentu będącego częścią Twojej aplikacji.
Skopiuj kod do schowka
import { useRewriteURL } from "solid-intlayer";const Layout = (props) => { // Automatycznie koryguje /fr/tests na /fr/essais w pasku adresu, jeśli istnieje reguła przepisywania useRewriteURL(); return <>{props.children}</>;};Jak to działa
- Wykrywanie: Hook używa
createEffectdo monitorowania zmian reaktywnej wartościlocale(). - Dopasowywanie: Sprawdza, czy bieżący
window.location.pathnameodpowiada kanonicznej trasie, która ma ładniejszy, zlokalizowany alias dla bieżącego języka. - Korekta URL: Jeśli znaleziono ładniejszy alias, hook wywołuje
window.history.replaceState, aby zaktualizować pasek adresu bez wpływu na wewnętrzny stan nawigacji ani wywoływania ponownych renderów komponentów.
Dlaczego go używać?
- Autorytatywne adresy URL: Wymusza pojedynczy adres URL dla każdej zlokalizowanej wersji twoich treści, co ma kluczowe znaczenie dla SEO.
- Wygoda dewelopera: Pozwala zachować wewnętrzne definicje tras jako kanoniczne, jednocześnie udostępniając na zewnątrz przyjazne dla użytkownika, zlokalizowane ścieżki.
- Spójność: Koryguje adresy URL, gdy użytkownicy ręcznie wpiszą ścieżkę niezgodną z preferowanymi zasadami lokalizacji.