Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix
Le contenu de cette page a été traduit à l'aide d'une IA.
Voir la dernière version du contenu original en anglaisSi vous avez une idée d’amélioration pour améliorer cette documentation, n’hésitez pas à contribuer en submitant une pull request sur GitHub.
Lien GitHub de la documentationCopier le Markdown du doc dans le presse-papiers
Hook useRewriteURL
Le hook useRewriteURL pour SolidJS est conçu pour gérer les réécritures d'URL localisées côté client. Il corrige automatiquement l'URL du navigateur vers sa version localisée « jolie » en fonction de la locale courante et de la configuration dans intlayer.config.ts.
En utilisant window.history.replaceState, il évite des navigations redondantes via Solid Router.
Utilisation
Appelez le hook à l'intérieur d'un composant faisant partie de votre application.
Comment ça fonctionne
- Détection : Le hook utilise
createEffectpour surveiller les changements de la valeur réactivelocale(). - Correspondance : Il identifie si le
window.location.pathnameactuel correspond à une route canonique qui possède un alias localisé plus lisible pour la langue courante. - Correction de l'URL : Si un alias plus lisible est trouvé, le hook appelle
window.history.replaceStatepour mettre à jour la barre d'adresse sans affecter l'état de navigation interne ni provoquer de re-rendus des composants.
Pourquoi l'utiliser ?
- URL canoniques : Imposent une URL unique pour chaque version localisée de votre contenu, ce qui est crucial pour le SEO.
- Confort pour les développeurs : Vous permet de conserver vos définitions de routes internes canoniques tout en exposant des chemins localisés et conviviaux au public.
- Cohérence : Corrige les URL lorsque les utilisateurs saisissent manuellement un chemin qui ne respecte pas vos règles de localisation préférées.