Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Історія версій
- "Додано утиліту usePathname"v10.0.023.06.2026
- "Ініціалізація історії"v8.2.022.06.2026
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюЯкщо у вас є ідея щодо покращення цієї документації, будь ласка, долучіться, надіславши pull request на GitHub.
Посилання на документацію на GitHubСкопіювати документацію у форматі Markdown в буфер обміну
Інтеграція Next.js: Документація Хука usePathname
Хук usePathname повертає поточний шлях Next.js (pathname) з видаленим сегментом локалі. Він корисний для створення навігації, що залежить від локалі — наприклад, для визначення, який елемент навігації активний — без необхідності вручну видаляти префікс локалі.
Імпорт usePathname у Next.js
Скопіюйте код у буфер обміну
Огляд
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— базова утиліта, що використовується цим хуком