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