Задайте вопрос и получите краткое содержание документа через любого ИИ-провайдера на этой странице
История версий
- "Добавлена утилита usePathname"v10.0.023.06.2026
- "Инициализация истории"v8.2.022.06.2026
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английском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
Интеграция с Preact: Документация хука usePathname
Хук usePathname возвращает текущий путь (pathname) браузера с удалённым сегментом локали. Это полезно для создания навигации, учитывающей локаль — например, для определения активного элемента меню — без необходимости вручную удалять префикс локали.
Импорт usePathname в Preact
Копировать код в буфер обмена
import { usePathname } from "preact-intlayer";Обзор
usePathname читает window.location.pathname, удаляет префикс локали с помощью getPathWithoutLocale и вызывает повторный рендеринг компонента каждый раз, когда браузер вызывает событие popstate (навигация назад/вперед). Во время серверного рендеринга (SSR) возвращает пустую строку.
Использование
Копировать код в буфер обмена
import type { FunctionComponent } from "preact";import { usePathname } from "preact-intlayer";type NavItemProps = { href: string; label: string;};const NavItem: FunctionComponent<NavItemProps> = ({ href, label }) => { const pathname = usePathname(); const isActive = pathname === href; return ( <a href={href} aria-current={isActive ? "page" : undefined}> {label} </a> );};export default NavItem;Возвращаемое значение
Открыть таблицу в модальном окне для четкого просмотра всех данных
| Тип | Описание |
|---|---|
string | Текущий путь без префикса локали. Во время серверного рендеринга (SSR) возвращается пустая строка. |
Поведение
- Удаление локали (Locale stripping): Убирает начальный сегмент локали (например,
/ru/dashboard→/dashboard). - Реактивность: Автоматически обновляется при событиях
popstate(навигация назад / вперед в браузере). - Безопасность для SSR: Возвращает
"", еслиwindowнедоступен. - Очистка (Cleanup): Слушатель
popstateавтоматически удаляется при размонтировании компонента.
Пример
Копировать код в буфер обмена
import type { FunctionComponent } from "preact";import { usePathname } from "preact-intlayer";const links = [ { href: "/dashboard", label: "Панель управления" }, { href: "/settings", label: "Настройки" },];const Sidebar: FunctionComponent = () => { const pathname = usePathname(); return ( <nav> {links.map(({ href, label }) => ( <a key={href} href={href} style={{ fontWeight: pathname === href ? "bold" : "normal" }} > {label} </a> ))} </nav> );};export default Sidebar;Связанные материалы
useLocale— текущая локаль + переключатель локалиgetPathWithoutLocale— базовая утилита, используемая этим хуком