Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
Хук useRewriteURL
Хук useRewriteURL предназначен для управления локализованными перезаписями URL на стороне клиента. Он автоматически определяет, нужно ли корректировать текущий URL до «красивой» локализованной версии в соответствии с локалью пользователя и правилами перезаписи, определёнными в intlayer.config.ts.
В отличие от стандартной навигации, этот хук использует window.history.replaceState для обновления URL в адресной строке без перезагрузки страницы или запуска цикла навигации роутера.
Использование
Просто вызовите хук в компоненте на стороне клиента.
Как это работает
- Обнаружение: Хук отслеживает текущий
window.location.pathnameи локаль пользователя. - Сопоставление: Он использует внутренний движок Intlayer, чтобы проверить, совпадает ли текущий pathname с каноническим маршрутом, для которого существует более «красивый» локализованный алиас для текущей локали.
- Исправление URL: Если находится более подходящий алиас (и он отличается от текущего пути), хук вызывает
window.history.replaceState, чтобы обновить URL в браузере, при этом сохраняя тот же канонический контент и состояние.
Зачем это использовать?
- SEO: Гарантирует, что пользователи всегда попадают на единственный авторитетный красивый URL для данного языка.
- Согласованность: Предотвращает несоответствия, когда пользователь может вручную ввести канонический путь (например,
/fr/privacy-notice) вместо локализованной версии (/fr/politique-de-confidentialite). - Производительность: Обновляет адресную строку без вызова нежелательных побочных эффектов маршрутизатора или повторного монтирования компонентов.