Saltar al contenido
Meeko
Escribe para buscar en las guías y en la referencia de la API. Ábrela desde cualquier página con / o Ctrl K; muévete con las flechas y entra con Intro.
Empezar

Contenidos

En esta página

ClientComponent

interfaz

Forma pública de un módulo .meeko compilado que necesita mountClientApp para renderizar e hidratar páginas y layouts.

ts
import type { ClientComponent } from "@meekojs/meeko/framework";

Código fuente src/app/runtime/client.ts:63

Declaración #

ts
interface ClientComponent {
	renderWithState(props: Record<string, unknown>): { html: string; state: Record<string, unknown> }
	renderToString(props: Record<string, unknown>, state?: Record<string, unknown>): string
	hydrateScope(scope: DomScope, props: Record<string, unknown>, state?: Record<string, unknown>): () => void
}

Ejemplo #

ts
import type { ClientComponent } from "@meekojs/meeko/framework";
import { modules as pages } from "virtual:meeko-client-pages";

async function loadPage(file: string): Promise<ClientComponent> {
  const load = pages[file];
  if (!load) throw new Error(`Page module missing: ${file}`);
  return await load() as ClientComponent;
}

Miembros #

renderWithState #

método

renderWithState(props: Record<string, unknown>): { html: string; state: Record<string, unknown> }

Renderiza el HTML y captura el estado de sus señales.

renderToString #

método

renderToString(props: Record<string, unknown>, state?: Record<string, unknown>): string

Renderiza el HTML, opcionalmente desde un estado capturado.

hydrateScope #

método

hydrateScope(scope: DomScope, props: Record<string, unknown>, state?: Record<string, unknown>): () => void

Hidrata el HTML existente dentro de scope; devuelve la función de liberación.

Véase también #

¿Te sirvió esta página?

Añadir un comentario

Se envía al elegir «Sí» o «No». Solo se guardan la página, tu respuesta y el comentario: ni cookies ni datos tuyos.

0 de 2000 caracteres

Editar en GitHub: packages/meeko/src/app/runtime/client.ts