Un componente .astro es exactamente lo mismo que una página .astro: frontmatter más HTML. La única diferencia es dónde lo guardas:
src/pages/ → se convierte en una URLsrc/components/ → se importa desde otros archivosPor convención, los nombres de componentes empiezan en mayúscula: Card.astro, Button.astro, Header.astro.
Un componente es un trozo reutilizable de UI. Aquí, una Card simple:
Sin ceremonia: lo que ves es lo que renderizará.
Para usarlo, lo importas en el frontmatter de otro .astro y lo metes en el HTML como si fuese una etiqueta más:
Así, sin más. Los componentes Astro:
.astro<Card />) o tener contenido (lo veremos con slots)Un componente puede importar y usar otros. La composición es tu superpoder: piensa en piezas pequeñas que se ensamblan.
Cada componente puede llevar su <style> scoped. Como vimos en la lección anterior, sus reglas no se filtran al resto del sitio.
En el editor tienes:
src/components/Card.astro (vacío)src/pages/index.astro (con tu lista de tarjetas)Tu trabajo:
Card.astro con un <article> que contenga al menos un <h2> (con un título cualquiera) y un <p> (con descripción).index.astro:
Card desde ../components/Card.astro en el frontmatter.<body> al menos dos veces, como <Card /> o <Card></Card>.Cuando funcione, verás varias tarjetas idénticas. En la siguiente lección haremos que cada una tenga su contenido propio.