Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Історія версій
- "Додано утиліту 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
Інтеграція Next.js: Документація Хука usePathname
Хук usePathname повертає поточний шлях Next.js (pathname) з видаленим сегментом локалі. Він корисний для створення навігації, що залежить від локалі — наприклад, для визначення, який елемент навігації активний — без необхідності вручну видаляти префікс локалі.
Імпорт usePathname у Next.js
Скопіюйте код у буфер обміну
import { usePathname } from "next-intlayer";Огляд
usePathname обгортає вбудований у Next.js usePathname() з next/navigation, додає будь-які параметри пошуку (search params) та видаляє префікс локалі за допомогою getPathWithoutLocale. Він перерендерюється при кожній навігації на стороні клієнта. Хук доступний лише у Client Components (вимагає "use client").
Використання
Скопіюйте код у буфер обміну
"use client";
import type { FC } from "react";
import { usePathname } from "next-intlayer";
type NavItemProps = {
href: string;
label: string;
};
const NavItem: FC<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 | Поточний шлях без префіксу локалі та з очищеним від параметра локалі запитом (query params). |
Поведінка
- Видалення локалі (Locale stripping): Видаляє початковий сегмент локалі (наприклад,
/uk/dashboard→/dashboard). - Видалення параметра пошуку (Search param stripping): Також видаляє параметр запиту
?locale=..., коли використовується режим маршрутизації за допомогою search-params. - Реактивність: Оновлюється при кожній навігації на стороні клієнта через Next.js App Router.
- Безпека для SSR: Повертає серверний шлях під час першого рендерингу, потім синхронізує параметри пошуку на клієнті.
Порівняння з useLocale
useLocale з next-intlayer вже експонує pathWithoutLocale як частину свого результату. Використовуйте usePathname, коли вам потрібен лише шлях і не потрібна функціональність перемикання локалей.
Скопіюйте код у буфер обміну
// Коли вам потрібні як стан локалі, так і шлях:
import { useLocale } from "next-intlayer";
const { locale, pathWithoutLocale } = useLocale();
// Коли вам потрібен тільки шлях:
import { usePathname } from "next-intlayer";
const pathname = usePathname();Приклад
Скопіюйте код у буфер обміну
"use client";
import type { FC } from "react";
import { usePathname } from "next-intlayer";
const links = [
{ href: "/dashboard", label: "Дашборд" },
{ href: "/settings", label: "Налаштування" },
];
const Sidebar: FC = () => {
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— поточна локаль + перемикач локалі (також експонуєpathWithoutLocale)getPathWithoutLocale— базова утиліта, що використовується цим хуком