Olá! Na lição anterior, você aprendeu a transformar componentes estáticos em "carimbos inteligentes", definindo no frontmatter as props (propriedades) que eles esperam receber. Você sabe como um componente declara: "eu preciso de um titulo e um texto".
Porém, definir o componente é apenas metade da história. Como o usamos efetivamente em uma página? Como garantimos que o "carimbo" que criamos seja de fato aplicado na folha de papel?
Nesta micro-lição, vamos fechar esse ciclo. Nosso objetivo é verificar se um componente está sendo importado e utilizado corretamente em uma página. Este é o passo que conecta seu componente reutilizável ao seu site.
1. Hook (A Trava Mental)
- Aprendiz: "Mestre, eu segui sua orientação e criei meu componente
ProfileCard.astrocom umainterface Propsperfeita. O arquivo está lá, emsrc/components/. Mas quando eu coloco a tag<ProfileCard />na minha páginaindex.astro, o site quebra! O terminal mostra um erro grande e vermelho que dizProfileCard is not defined. O que eu esqueci?"
2. Deep Dive (A Solução: Convocando seus Componentes)
- Mestre: "Excelente observação, jovem Padawan. Você forjou a espada, mas ainda não a empunhou na batalha. Cada arquivo
.astroé um universo isolado. Para usar um componente desrc/components/dentro de uma página emsrc/pages/, você precisa explicitamente 'convocar' esse componente."
Esse processo de convocação tem duas etapas obrigatórias:
-
Importar (A Convocação): No frontmatter (a área de código
---) da sua página, você precisa declarar de onde o componente está vindo. É como dizer: "Ei, páginaindex.astro, eu quero que você conheça o componente que está neste arquivo." A sintaxe é:import NomeDoComponente from 'caminho/relativo/para/o/componente.astro'; -
Utilizar (O Uso): Depois de importado, o
NomeDoComponentese torna uma "tag HTML customizada" que você pode usar no template (a área de HTML abaixo do frontmatter).<NomeDoComponente />
Sem o import, a página não tem ideia do que <NomeDoComponente /> significa, resultando no erro is not defined.
3. O Fazer (Verificando a Conexão)
Vamos ver como essa conexão de duas etapas funciona na prática.
Primeiro, a documentação oficial do Astro mostra este processo de forma muito clara.
Build a blog tutorial: Create a social media footer
A documentação oficial nos dá o exemplo mais direto. Vamos ver como eles ensinam a importar e usar um componente de rodapé que acabamos de criar.
Nesta página, foque nas seções 'Create a Footer Component' e, principalmente, 'Import and use Footer.astro'. Observe as duas etapas distintas: 1. A linha import Footer from ... no frontmatter. 2. A tag <Footer /> no template.
Agora, vamos assistir a um vídeo que demonstra exatamente o problema que você descreveu no "Hook" e como resolvê-lo.
Astro Blog Course #5 - Astro Components
Ver em vídeo ajuda a consolidar. Neste trecho, o autor cria um componente de rodapé e o adiciona ao layout principal. Observe o processo de importação e uso em tempo real.
Assista do minuto 00:00:32 até 00:01:48. Preste atenção em dois momentos-chave: primeiro, quando ele adiciona a tag do componente e o site quebra (exatamente o seu problema), e segundo, quando ele adiciona a linha import no frontmatter para consertar o erro. Isso mostra a importância das duas etapas.
Para ter uma visão completa, a imagem a seguir é um resumo visual perfeito. Ela mostra um arquivo index.astro que utiliza componentes externos.

Este padrão de import no topo e <Tag /> no corpo é a essência de como os sites em Astro são montados.
4. Checkpoint (Dica de IA)
- Mestre: "Com este conhecimento, sua capacidade de validar o código de uma IA aumenta drasticamente. Quando você pede a ela para 'adicionar o componente Hero na página inicial', você sabe exatamente o que procurar no código gerado."
Seu Checklist de Validação Rápida:
- A Importação Existe? A IA adicionou uma linha
import Hero from 'caminho/para/Hero.astro'no frontmatter (---) da página inicial? - O Caminho está Correto? Verifique se o caminho relativo (
../components/Hero.astro, por exemplo) faz sentido. A IA às vezes se confunde com a estrutura de pastas. - A Utilização está Presente? A IA adicionou a tag
<Hero />no local correto do template HTML (por exemplo, logo após a tag<body>ou dentro de um<main>)?
Se a resposta for "sim" a todas as três, a IA integrou o componente corretamente. Se faltar a importação, o site quebrará. Se o caminho estiver errado, o site quebrará. Se a tag não for usada, o componente simplesmente não aparecerá.
Conclusão
Você acaba de dominar a mecânica fundamental de como as peças de Lego (Componentes) são conectadas para construir a estrutura final.
-
Key Takeaways:
- Usar um componente é um processo de duas etapas: importar e utilizar.
- A importação (
import Componente from '...') acontece no frontmatter e informa à página onde encontrar o componente. - A utilização (
<Componente />) acontece no template e renderiza o HTML do componente. - Ambas as etapas são obrigatórias. A ausência de qualquer uma delas resultará em um erro ou em um componente ausente.
-
Próximo Passo: Agora você sabe como definir um componente com props e como importá-lo para uma página. O último elo da corrente é passar os dados para as props no momento da utilização. Na próxima lição, vamos focar em como validar se as
props(<Componente titulo="Meu Título" />) estão sendo passadas corretamente.