Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюЯкщо у вас є ідея щодо покращення цієї документації, будь ласка, долучіться, надіславши pull request на GitHub.
Посилання на документацію на GitHubСкопіювати документацію у форматі Markdown в буфер обміну
Хук useRewriteURL
Хук useRewriteURL призначений для керування локалізованими переписуваннями URL на стороні клієнта. Він автоматично визначає, чи потрібно виправити поточний URL до "pretty" локалізованої версії на основі локалі користувача та правил перепису, визначених у intlayer.config.ts.
На відміну від стандартної навігації, цей хук використовує window.history.replaceState для оновлення URL в адресному рядку без повного перезавантаження сторінки або запуску циклу навігації роутера.
Використання
Просто викличте хук у компоненті на стороні клієнта.
Як це працює
- Виявлення: Хук відстежує поточний
window.location.pathnameтаlocaleкористувача. - Співставлення: Він використовує внутрішній движок Intlayer для перевірки, чи відповідає поточний pathname канонічному маршруту, який має більш привабливий локалізований псевдонім для поточної локалі.
- Виправлення URL: Якщо знайдено кращий псевдонім (і він відрізняється від поточного шляху), хук викликає
window.history.replaceState, щоб оновити URL у браузері, зберігаючи той самий канонічний вміст та стан.
Навіщо це використовувати?
- SEO: Гарантує, що користувачі завжди потрапляють на єдиний, авторитетний pretty URL для конкретної мови.
- Consistency: Запобігає невідповідностям, коли користувач може вручну ввести канонічний шлях (наприклад,
/fr/privacy-notice) замість локалізованої версії (/fr/politique-de-confidentialite). - Performance: Оновлює адресний рядок без виклику небажаних побічних ефектів маршрутизатора або перемонтувань компонентів.