DocsBasado en archivos
Ganchos
Los ganchos leen la solicitud HTTP actual desde dentro de una página .nexy, un controlador API o un controlador modular. Sus nombres coinciden con los ganchos del enrutador del cliente (@nexy/client) donde hacen lo mismo.
los ganchos
| Gancho | Devuelve |
|---|---|
usePathname() |
ruta de solicitud, p. "/blog/post-1" |
useSearchParams() |
cadena de consulta como dict[str, str], primer valor por clave |
useParams() |
parámetros de ruta dinámica, p.e. {"slug": "post-1"} |
useQuery() |
el nombre original de useParams(), conservado para las páginas existentes |
useRequest() |
la solicitud Starlette, por lo que los otros ganchos no cubren |
useHeaders() |
los encabezados de solicitud como dict[str, str], nombres en minúsculas |
useUrl() |
la URL completa: .scheme, .hostname, .port, .path, .query |
useIsActive(href, exact=False) |
si href es la página actual o una de sus padres |
useRouter() |
{"path", "base_url", "url_for"} |
useCookies() |
todas las cookies como dict[str, str] |
useSession() |
el dictado de la sesión, {} cuando las sesiones no están habilitadas |
useToc(depth_range="2-6") |
tabla de contenidos HTML de la página actual, "" cuando ninguna |
useViews(path, context=None) |
renderiza otra vista y devuelve un HTMLResponse |
Leer la solicitud
from nexy import useCookies, usePathname, useSearchParams pathname = usePathname()page = useSearchParams().get("page", "1")theme = useCookies().get("theme", "light")<p>{{ pathname }} - page {{ page }} - {{ theme }} theme</p>Un enlace activo en una barra de navegación.
useIsActive sigue la misma regla que en el cliente: la cadena de consulta, el fragmento y una barra diagonal se ignoran, un enlace a un padre está activo en sus hijos a menos que exact esté configurado y / solo está activo en /.
from nexy import useIsActive href: prop[str]label: prop[str]<a href="{{ href }}"{% if useIsActive(href) %} aria-current="page"{% endif %}>{{ label }}</a>Notas
useQuery()devuelve los parámetros ruta, no la cadena de consulta, razón por la cual existeuseParams(). La cadena de consulta esuseSearchParams().useRouter()aquí está el enlace de solicitud. No es el campo de configuraciónuseRouterel que monta unAPIRouter.useSession()necesitauseSession = {...}ennexyconfig.py; sin él, el dictado está vacío.useViews("about.tsx", {"title": "About"})devuelve HTML: una vista.nexyse representa mediante su módulo compilado, una vista.tsx/.jsx/.vue/.svelte/.mdxse convierte en un contenedor de montaje del cliente.
Próximos pasos
- Páginas: segmentos y diseños dinámicos
- Recetas: un flujo de inicio de sesión probado basado en
useSession() - Configuración: habilita sesiones y configuraciones regionales
- archivos .nexy: donde normalmente se llaman los ganchos