0Pricing
React Academy · Aula

Configuração de ilhas Astro e React

Configure o Astro com a integração do React e use as diretivas client:load, client:idle e client:visible.

Configuração de ilhas Astro e React é uma aula grátis de React Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de React Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de React Academy inclui 4 aulas no total.

Criando um Projeto Astro

Para iniciar um projeto Astro, use npx create astro@latest, que executa um assistente interativo para escolher um modelo, as configurações de TypeScript e o gerenciador de pacotes. O Astro oferece vários projetos iniciais, incluindo um modelo em branco, um modelo de blog e modelos de documentação.

Adicionando a Integração com React

As integrações do Astro adicionam suporte a estruturas de desenvolvimento a um projeto. A execução de npx astro add react instala automaticamente @astrojs/react, react e react-dom, além de atualizar astro.config.mjs para incluir a integração com React. Toda a configuração é feita com um único comando.

Arquivos Astro São Estáticos por Padrão

Um arquivo .astro é o formato de componente do Astro. Ele consiste em uma seção de cabeçalho inicial (JavaScript entre delimitadores ---) e uma seção de modelo. Por padrão, um arquivo Astro gera HTML estático — nenhum JavaScript é enviado ao navegador, a menos que você adicione explicitamente uma diretiva de cliente.

Importando um Componente React

Para importar um componente React em um arquivo Astro, use a sintaxe padrão de módulo ES: import Counter from './Counter.jsx'. Sem uma diretiva de cliente, o Astro renderiza o componente React no servidor como HTML estático e envia esse HTML ao navegador — nenhum JavaScript é enviado para o componente.

Ativando uma Ilha com uma Diretiva

Adicionar client:visible à tag do componente no modelo Astro transforma-o em uma ilha: <Counter client:visible />. Agora o Astro envia o JavaScript de Counter, hidrata-o quando ele entra na área visível e o torna interativo. Sem a diretiva, ele é apenas HTML estático.

Componentes React Seguem o React Padrão

Os componentes React usados como ilhas do Astro são escritos em React padrão — eles usam ganchos, estado, efeitos e qualquer biblioteca do React. Não existe uma API específica do Astro dentro do próprio componente React. O limite da ilha é definido no modelo Astro, não no código do componente.

O Estado É Isolado por Ilha

Cada instância de uma ilha é uma árvore React independente. Duas ilhas Counter na mesma página não compartilham estado. Se você precisar compartilhar estado, terá três opções: uni-las em uma única ilha, usar parâmetros de consulta da URL para armazenar estado serializável ou usar uma biblioteca de estado compartilhado, como nanostores.

Comunicação entre Ilhas com Nanostores

A biblioteca @nanostores/react fornece átomos leves aos quais qualquer ilha pode se inscrever. Uma ilha grava dados em um átomo de nanostores, e outra ilha os lê. Como nanostores são independentes de estrutura de desenvolvimento, esse padrão também funciona entre ilhas de React e Vue na mesma página.

Coleções de Conteúdo do Astro

As Coleções de Conteúdo do Astro oferecem uma maneira segura quanto aos tipos de gerenciar arquivos Markdown e MDX. Defina um esquema de coleção com Zod, coloque os arquivos Markdown em src/content/ e o Astro gerará funções de consulta totalmente tipadas. Esse é o padrão para publicações de blog, documentação e páginas de produtos.

Compilando o Projeto

A execução de astro build gera uma pasta dist/ com arquivos HTML estáticos. Para cada página, o Astro gera um arquivo HTML com o conteúdo renderizado no servidor e somente os pacotes de JavaScript necessários para as ilhas daquela página. Páginas sem ilhas não geram nenhum JavaScript.

Opções de Implantação

A saída estática pode ser implantada em qualquer CDN (Netlify, Vercel, Cloudflare Pages), sem um servidor. Para necessidades de renderização no servidor (rotas dinâmicas e pontos de acesso de API), o Astro oferece adaptadores de SSR para Node.js, Vercel Edge, Cloudflare Workers e Deno. As ilhas funcionam da mesma maneira nos dois modos.

Diretiva de Integração do React

Qual é a alteração mínima necessária em um componente React importado em um modelo Astro para torná-lo interativo no cliente?

Recapitulação da Lição

Configure o Astro com React usando npx astro add react. Os arquivos Astro são estáticos por padrão; adicionar uma diretiva client: à tag de um componente React transforma-o em uma ilha hidratada. Os componentes React seguem o React padrão, sem APIs específicas do Astro. O estado é isolado por ilha; nanostores permitem a comunicação entre ilhas. A compilação gera HTML estático com apenas o JavaScript necessário para as ilhas.

Perguntas Frequentes

A aula “Configuração de ilhas Astro e React” é grátis?

Sim — o texto completo de “Configuração de ilhas Astro e React” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de React Academy, atualize para CoddyKit PRO. O curso de React Academy inclui 4 aulas no total.

O que vou aprender em “Configuração de ilhas Astro e React”?

Configure o Astro com a integração do React e use as diretivas client:load, client:idle e client:visible. Você pratica React Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar React Academy?

Nenhuma experiência prévia é necessária. React Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Configuração de ilhas Astro e React”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de React Academy?

Sim. Cada aula de React Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. O problema da hidratação completa
  2. Arquitetura de ilhas: hidratação seletiva
  3. Configuração de ilhas Astro e React
  4. Medindo o desempenho: Lighthouse e Core Web Vitals
← Voltar para React Academy