Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюIf 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
Хук useRewriteURL
Хук useRewriteURL для SolidJS призначений для керування локалізованими переписуваннями URL на клієнтській стороні. Він автоматично коригує URL у браузері до його «гарнішої» локалізованої версії на основі поточної локалі та конфігурації в intlayer.config.ts.
Використовуючи window.history.replaceState, він запобігає зайвим навігаціям Solid Router.
Використання
Викликайте хук всередині компонента, який є частиною вашого застосунку.
Скопіюйте код у буфер обміну
import { useRewriteURL } from "solid-intlayer";const Layout = (props) => { // Автоматично виправляє /fr/tests на /fr/essais у рядку адреси, якщо існує правило переписування useRewriteURL(); return <>{props.children}</>;};Як це працює
- Виявлення: Хук використовує
createEffectдля відстеження змін реактивноїlocale(). - Зіставлення: Він визначає, чи відповідає поточний
window.location.pathnameканонічному маршруту, для якого є зручніший локалізований псевдонім для поточної мови. - Виправлення URL: Якщо знайдено зручніший псевдонім, хук викликає
window.history.replaceState, щоб оновити рядок адреси без впливу на внутрішній стан навігації або спричинення повторних рендерів компонентів.
Чому варто використовувати?
- Авторитетні URL-адреси: Забезпечують єдиний URL для кожної локалізованої версії вашого контенту, що є критично важливим для SEO.
- Зручність для розробника: Дозволяють зберігати внутрішні визначення маршрутів канонічними, одночасно показуючи зовнішнім користувачам дружні до користувача локалізовані шляхи.
- Послідовність: Виправляють URL, коли користувачі вручну вводять шлях, що не відповідає вашим бажаним правилам локалізації.