Pose una domanda e ottieni un riassunto del documento facendo riferimento a questa pagina e al provider AI di tua scelta
Il contenuto di questa pagina è stato tradotto con un'IA.
Vedi l'ultima versione del contenuto originale in ingleseIf 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
Il hook useRewriteURL per SolidJS è progettato per gestire le riscritture di URL localizzate lato client. Corregge automaticamente l'URL del browser alla sua versione localizzata "prettier" in base alla locale corrente e alla configurazione in intlayer.config.ts.
Utilizzando window.history.replaceState, evita navigazioni ridondanti del Solid Router.
Utilizzo
Invoca il hook all'interno di un componente che fa parte della tua applicazione.
Copiare il codice nella clipboard
import { useRewriteURL } from "solid-intlayer";const Layout = (props) => { // Corregge automaticamente /fr/tests in /fr/essais nella barra degli indirizzi se esiste una regola di riscrittura useRewriteURL(); return <>{props.children}</>;};Come funziona
- Rilevamento: L'hook utilizza
createEffectper monitorare i cambiamenti nella reattivalocale(). - Corrispondenza: Identifica se l'attuale
window.location.pathnamecorrisponde a una route canonica che ha un alias localizzato più leggibile per la lingua corrente. - Correzione dell'URL: Se viene trovato un alias più leggibile, l'hook chiama
window.history.replaceStateper aggiornare la barra degli indirizzi senza influire sullo stato di navigazione interno o causare il re-render dei componenti.
Perché usarlo?
- URL autorevoli: Impone un unico URL per ogni versione localizzata dei tuoi contenuti, cosa cruciale per la SEO.
- Comodità per lo sviluppatore: Ti permette di mantenere le definizioni delle route interne canoniche pur esponendo al mondo esterno percorsi localizzati e user-friendly.
- Coerenza: Corregge gli URL quando gli utenti digitano manualmente un percorso che non rispetta le regole di localizzazione preferite.