usePathname
usePathname
est un hook réservé aux Composants Client qui permet de lire le chemin (pathname) de l'URL actuelle.
usePathname
nécessite intentionnellement l'utilisation d'un Composant Client. Il est important de noter que les Composants Client ne sont pas une désoptimisation. Ils font partie intégrante de l'architecture des Composants Serveur.
Par exemple, un Composant Client utilisant usePathname
sera rendu en HTML lors du chargement initial de la page. Lors de la navigation vers une nouvelle route, ce composant n'a pas besoin d'être rechargé. Au lieu de cela, le composant est téléchargé une fois (dans le bundle JavaScript client) et se rerend en fonction de l'état actuel.
Bon à savoir :
- La lecture de l'URL actuelle depuis un Composant Serveur n'est pas prise en charge. Cette conception est intentionnelle pour préserver l'état du layout lors des navigations entre pages.
- Mode de compatibilité :
usePathname
peut retournernull
lorsqu'une route de fallback est en cours de rendu ou lorsqu'une page du répertoirepages
a été optimisée statiquement automatiquement par Next.js et que le routeur n'est pas prêt.- Lors de l'utilisation de
usePathname
avec des rewrites dansnext.config
ouMiddleware
,useState
etuseEffect
doivent également être utilisés pour éviter les erreurs d'hydratation.- Next.js mettra automatiquement à jour vos types s'il détecte à la fois un répertoire
app
etpages
dans votre projet.
Paramètres
usePathname
ne prend aucun paramètre.
Valeur retournée
usePathname
retourne une chaîne représentant le chemin de l'URL actuelle. Par exemple :
URL | Valeur retournée |
---|---|
/ | '/' |
/dashboard | '/dashboard' |
/dashboard?v=2 | '/dashboard' |
/blog/hello-world | '/blog/hello-world' |
Exemples
Effectuer une action en réponse à un changement de route
Version | Changements |
---|---|
v13.0.0 | Introduction de usePathname . |