ANÚNCIO

~/questoes/programacao

O que é prop drilling e como a Context API ajuda a resolvê-lo?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência Live Coding: Criando aplicação REACT do ZERO
Para fixar

Entendendo Prop Drilling e Context API

Conceito central

Prop drilling é quando você precisa passar props através de vários componentes intermediários que não usam esses dados, apenas repassam adiante. Context API é a solução que permite que componentes acessem valores globalmente sem essa corrente de repasse.

Por que essa resposta faz sentido

A alternativa C está correta porque define precisamente o que é prop drilling (passar props por múltiplos intermediários) e como Context API resolve esse problema (permitindo acesso direto aos valores sem componentes intermediários).

Armadilhas comuns

  • Confundir prop drilling com falta de tipagem TypeScript, quando são conceitos independentes
  • Achar que Context API é só para dados globais, esquecendo que resolve o problema de múltiplos níveis de repasse
  • Usar Context API para tudo, sem considerar que às vezes passar props é mais simples e performático

Entenda as alternativas

A

TypeScript é sobre tipagem de dados, não tem relação com prop drilling. Você pode ter prop drilling com ou sem TypeScript no seu projeto.

B

CSS é para estilos, não para gerenciar props ou estados. Essa alternativa confunde conceitos completamente diferentes do React.

C

Define corretamente o problema (passar props através de múltiplos níveis) e a solução (Context API permite acesso direto aos valores sem intermediários).

D

Context API não é uma técnica de otimização de performance. Usar Context API incorretamente pode até piorar a performance, pois causa re-renderizações em cascata.

Dica prática: Quando você notar que está passando a mesma prop através de 3 ou mais componentes que não usam ela diretamente, é hora de pensar em Context API. Crie um Context para dados que realmente precisam ser acessados em vários lugares da árvore de componentes.

Revise pensando: Se você tem um componente A passando um valor para B, que passa para C, que passa para D (que finalmente usa), qual seria a solução com Context API?