Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix
Historique des versions
- "Ajout de l'utilitaire usePathname"v10.0.023/06/2026
- "Initialisation de l'historique"v8.2.022/06/2026
Le contenu de cette page a été traduit à l'aide d'une IA.
Voir la dernière version du contenu original en anglaisIf 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
Intégration Next.js : Documentation du Hook usePathname
Le hook usePathname retourne le chemin (pathname) actuel de Next.js en supprimant le segment de la locale. Il est utile pour créer une navigation adaptée à la locale — par exemple, déterminer quel élément de navigation est actif — sans avoir à retirer manuellement le préfixe de la locale.
Importer usePathname dans Next.js
Copier le code dans le presse-papiers
import { usePathname } from "next-intlayer";Aperçu
usePathname enveloppe le hook natif usePathname() de Next.js provenant de next/navigation, ajoute les paramètres de recherche (search params), et retire le préfixe de la locale via getPathWithoutLocale. Il se met à jour à chaque navigation côté client. Ce hook n'est disponible que dans les Composants Clients (Client Components, nécessite "use client").
Utilisation
Copier le code dans le presse-papiers
"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;Valeur de retour
Ouvrir le tableau dans une fenêtre modale pour voir tout le contenu clairement
| Type | Description |
|---|---|
string | Le chemin actuel sans le préfixe de locale et les paramètres de recherche débarrassés de la locale. |
Comportement
- Suppression de la locale : Retire le segment de locale initial (ex.
/fr/dashboard→/dashboard). - Suppression des paramètres de recherche : Retire également le paramètre de requête
?locale=...lorsqu'un mode de routage basé sur les paramètres de recherche est utilisé. - Réactif : Se met à jour à chaque navigation côté client via Next.js App Router.
- Compatible SSR : Retourne le chemin côté serveur lors du premier rendu, puis synchronise les paramètres de recherche côté client.
Comparaison avec useLocale
useLocale de next-intlayer expose déjà pathWithoutLocale dans sa valeur de retour. Utilisez usePathname lorsque vous n'avez besoin que du chemin et non de la fonctionnalité de changement de locale.
Copier le code dans le presse-papiers
// Lorsque vous avez besoin à la fois de l'état de la locale et du chemin :
import { useLocale } from "next-intlayer";
const { locale, pathWithoutLocale } = useLocale();
// Lorsque vous n'avez besoin que du chemin :
import { usePathname } from "next-intlayer";
const pathname = usePathname();Exemple
Copier le code dans le presse-papiers
"use client";
import type { FC } from "react";
import { usePathname } from "next-intlayer";
const links = [
{ href: "/dashboard", label: "Tableau de bord" },
{ href: "/settings", label: "Paramètres" },
];
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;Liens connexes
useLocale— locale actuelle + sélecteur de locale (expose aussipathWithoutLocale)getPathWithoutLocale— l'utilitaire sous-jacent utilisé par ce hook