0Pricing
React Academy · Aula

Padrões de comunicação entre irmãos

Coordene dois componentes irmãos por meio do estado compartilhado do pai e de props de retorno de chamada.

Padrões de comunicação entre irmãos é 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.

Boas-vindas

Nesta lição, você implementará a comunicação entre componentes irmãos no React, coordenando dois componentes por meio do estado compartilhado do pai e de propriedades de funções de retorno.

Irmãos não podem se comunicar diretamente

No React, os dados fluem para baixo por meio das propriedades. Dois componentes irmãos não têm uma conexão direta. Toda comunicação entre irmãos passa pelo pai em comum.

O padrão: estado compartilhado no pai

O pai mantém o valor compartilhado no estado e o passa aos dois irmãos: um recebe o valor como dados (leitor), e o outro recebe uma função de retorno para alterá-lo (gravador).
function Parent() {
  const [selected, setSelected] = useState(null);
  return (
    <>
      <Picker onSelect={setSelected} />
      <Detail item={selected} />
    </>
  );
}

Irmãos leitor e gravador

O irmão gravador (Seletor) chama a função de retorno do pai quando o usuário faz uma seleção. O irmão leitor (Detalhes) recebe o valor resultante como uma propriedade. Nenhum dos irmãos conhece o outro.
function Picker({ onSelect }) {
  return <button onClick={() => onSelect('item-1')}>Pick item 1</button>;
}

function Detail({ item }) {
  return <p>Selected: {item}</p>;
}

Comunicação nos dois sentidos

Ambos os irmãos podem ser leitores e escritores simultaneamente. Cada um recebe o valor atual AND um retorno de chamada onChange. As alterações feitas por qualquer um dos irmãos atualizam o estado compartilhado do componente pai, que retorna para ambos.

Exemplo de campos de formulário sincronizados

Um controle deslizante e um campo numérico controlam o mesmo valor. Ambos recebem o valor e `onChange` do pai. Alterar qualquer componente atualiza o outro automaticamente.
function VolumeControl() {
  const [vol, setVol] = useState(50);
  return (
    <>
      <input type="range" value={vol} onChange={e => setVol(+e.target.value)} />
      <input type="number" value={vol} onChange={e => setVol(+e.target.value)} />
    </>
  );
}

Evitando o antipadrão do barramento de eventos

Evite usar um emissor global de eventos (EventEmitter/PubSub) para a comunicação entre irmãos no React. Isso contorna o fluxo de dados do React, tornando o estado invisível e a depuração difícil.

Quando os irmãos estão distantes

Se os irmãos estiverem profundamente aninhados em diferentes ramificações da árvore, elevar o estado até o ancestral comum fará com que a passagem de propriedades seja excessiva. Nesse caso, o Contexto ou uma biblioteca de estado é apropriado.

Mantendo os irmãos desacoplados

Nenhum irmão deve importar ou referenciar o outro. O pai é o coordenador. Esse desacoplamento facilita substituir um irmão sem afetar o outro.

Testando a comunicação entre irmãos

Teste o componente pai: simule uma ação no irmão gravador (por meio da interface do pai) e verifique se o irmão leitor exibe o valor correto. O pai é a unidade testável de coordenação.

Verificação rápida

Como dois componentes irmãos do React se comunicam entre si?

Recapitulação

Coordene os irmãos por meio do pai em comum: o pai mantém o estado compartilhado, passa os dados aos leitores e passa funções de retorno aos gravadores. Nenhum irmão precisa conhecer o outro.

Próxima etapa

Próxima lição: **Escolhendo o local correto para o estado** — você aplicará uma estrutura de decisão para escolher entre estado local, elevado ou global.

Perguntas Frequentes

A aula “Padrões de comunicação entre irmãos” é grátis?

Sim — o texto completo de “Padrões de comunicação entre irmãos” é 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 “Padrões de comunicação entre irmãos”?

Coordene dois componentes irmãos por meio do estado compartilhado do pai e de props de retorno de chamada. 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 “Padrões de comunicação entre irmãos”?

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. Elevação do estado: princípios e exemplos
  2. Prop drilling: quando prejudica e quando é aceitável
  3. Padrões de comunicação entre irmãos
  4. Escolha do local adequado para o estado
← Voltar para React Academy