Ce face Hook-ul usePathname() - Obținerea căii URL curente
Hook-ul usePathname() este utilizat frecvent în meniuri de navigare pentru a determina care link este activ în momentul curent și a-i aplica o clasă CSS de evidențiere (active link).
Poate fi apelat exclusiv în componente de client (`’use client’`).
Se actualizează automat la fiecare tranziție de pagină.
Exemple
Exemplul 1: Evidențierea linkului activ în meniul de navigare
Aplică clasa font-bold și text-blue-600 dacă linkul se potrivește cu pagina curentă.
'use client';
import Link from 'next/link';
import { usePathname } from 'next/navigation';
export default function NavItem({ href, text }: { href: string; text: string }) {
const pathname = usePathname();
const esteActiv = pathname === href;
return (
<Link
href={href}
className={esteActiv ? 'font-bold text-blue-600' : 'text-gray-600 hover:text-black'}
>
{text}
</Link>
);
}
Ieșire în terminal
Linkul paginii pe care te afli este colorat diferit automat.
Greșeli frecvente
- Încercarea de a citi query string-ul (?pagina=2) prin usePathname; usePathname returnează doar calea, pentru query string se folosește useSearchParams.
Comenzi înrudite
Hook-ul useSearchParams() - Citirea parametrilor query din URL: Oferă acces de doar-citire la parametrii query string din URL (ex: ?cautare=nextjs&sort=nou).Componenta <Link> - Navigare rapidă pe client cu Prefetching automat: Înlocuitorul optimizat al tag-ului <a> care realizează tranziții instantanee fără reîncărcarea întregii pagini.Hook-ul useRouter() din next/navigation - Navigare programatică: Permite declanșarea tranzițiilor de navigare din interiorul funcțiilor și componentelor de client.
Întrebări & Exemple de Cod:
Hook-ul usePathname() – Obținerea căii URL curenteAi o nelămurire despre utilizarea comenzii
Hook-ul usePathname() – Obținerea căii URL curentesau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.