Autor:
    Creación:2026-06-22Última actualización:2026-06-22

    Integración con Svelte: Documentación de usePathname

    La función usePathname devuelve el pathname actual del navegador sin el segmento de la locale, como un store Readable<string> de Svelte. Es útil para construir navegación con reconocimiento de la locale — por ejemplo, para determinar qué elemento de navegación está activo — sin tener que eliminar manualmente el prefijo de la locale.

    Importar usePathname en Svelte

    typescript
    import { usePathname } from "svelte-intlayer";

    Descripción general

    usePathname crea un store legible de Svelte que lee window.location.pathname, elimina el prefijo de la locale a través de getPathWithoutLocale, y emite un nuevo valor cada vez que el navegador dispara un evento popstate (navegación atrás/adelante). Suscríbete con la sintaxis de store $ en los componentes.

    Uso

    src/components/NavItem.svelte
    <script lang="ts">  import { usePathname } from "svelte-intlayer";  export let href: string;  export let label: string;  const pathname = usePathname();</script><a {href} aria-current={$pathname === href ? "page" : undefined}>  {label}</a>

    Valor de retorno

    Tipo Descripción
    Readable<string> Store legible de Svelte que contiene el pathname actual sin el prefijo de la locale.

    Comportamiento

    • Eliminación de la locale: Elimina el segmento inicial de la locale (ej. /es/dashboard/dashboard).
    • Reactividad: Emite un nuevo valor en cada evento popstate (navegación atrás / adelante del navegador).
    • Seguro para SSR: Devuelve "" cuando window no está disponible.
    • Limpieza: El escuchador popstate se elimina automáticamente cuando se da de baja el último suscriptor.

    Ejemplo

    src/components/Sidebar.svelte
    <script lang="ts">  import { usePathname } from "svelte-intlayer";  const links = [    { href: "/dashboard", label: "Panel de control" },    { href: "/settings", label: "Configuración" },  ];  const pathname = usePathname();</script><nav>  {#each links as link}    <a      href={link.href}      style:font-weight={$pathname === link.href ? "bold" : "normal"}    >      {link.label}    </a>  {/each}</nav>

    Relacionado