Zadaj pytanie i otrzymaj streszczenie dokumentu, odwołując się do tej strony i wybranego dostawcy AI
Historia wersji
- "Dodano narzędzie usePathname"v10.0.023.06.2026
- "Inicjalizacja historii"v8.2.022.06.2026
Treść tej strony została przetłumaczona przy użyciu sztucznej inteligencji.
Zobacz ostatnią wersję oryginalnej treści w języku angielskimIf 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
Integracja Next.js: Dokumentacja hooka usePathname
Hook usePathname zwraca aktualną ścieżkę Next.js z usuniętym segmentem lokalizacji. Jest to przydatne do budowania nawigacji świadomej lokalizacji — na przykład określania, który element nawigacji jest aktywny — bez konieczności ręcznego usuwania prefiksu lokalizacji.
Importowanie usePathname w Next.js
Skopiuj kod do schowka
import { usePathname } from "next-intlayer";Przegląd
usePathname opakowuje wbudowaną w Next.js funkcję usePathname() z next/navigation, dodaje wszelkie parametry wyszukiwania (search params) i usuwa prefiks lokalizacji poprzez getPathWithoutLocale. Wyzwala on ponowne renderowanie przy każdej nawigacji po stronie klienta. Hook jest dostępny tylko w Client Components (wymaga "use client").
Użycie
Skopiuj kod do schowka
"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;Zwracana Wartość
Otwórz tabelę w oknie modalnym, aby wyraźnie zobaczyć całą zawartość
| Typ | Opis |
|---|---|
string | Aktualna ścieżka z usuniętym prefiksem lokalizacji i bez parametrów zapytania (query params) związanych z lokalizacją. |
Zachowanie
- Usuwanie lokalizacji: Usuwa początkowy segment lokalizacji (np.
/pl/dashboard→/dashboard). - Usuwanie parametrów wyszukiwania: Usuwa również parametr zapytania
?locale=..., gdy używany jest tryb routingu oparty na parametrach wyszukiwania. - Reaktywność: Automatycznie aktualizuje się przy każdej nawigacji po stronie klienta za pomocą Next.js App Router.
- Bezpieczny dla SSR: Zwraca ścieżkę po stronie serwera podczas pierwszego renderowania, a następnie synchronizuje parametry wyszukiwania po stronie klienta.
Porównanie z useLocale
useLocale z next-intlayer już udostępnia pathWithoutLocale jako część zwracanej wartości. Użyj usePathname, gdy potrzebujesz tylko ścieżki i nie wymagasz funkcji przełączania lokalizacji.
Skopiuj kod do schowka
// Gdy potrzebujesz zarówno stanu lokalizacji, jak i ścieżki:
import { useLocale } from "next-intlayer";
const { locale, pathWithoutLocale } = useLocale();
// Gdy potrzebujesz tylko ścieżki:
import { usePathname } from "next-intlayer";
const pathname = usePathname();Przykład
Skopiuj kod do schowka
"use client";
import type { FC } from "react";
import { usePathname } from "next-intlayer";
const links = [
{ href: "/dashboard", label: "Pulpit" },
{ href: "/settings", label: "Ustawienia" },
];
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;Powiązane
useLocale— aktualna lokalizacja + przełącznik lokalizacji (udostępnia równieżpathWithoutLocale)getPathWithoutLocale— bazowe narzędzie używane przez ten hook