Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Contradição Lógica da IA ao responder na Questão sobre Prop Drilling - Runner Circle

Corpo:

Identifiquei uma contradição lógica na questão do exercício sobre a plataforma Runner Circle que solicita a aplicação de prop drilling.

O Problema:

A questão apresenta dois pontos contraditórios:

Contexto do Problema: "O código atual para gerenciar a lista de exercícios está duplicado em várias partes do sistema, o que pode causar problemas de manutenção."

Solução Pedida: "Como a equipe pode aplicar o conceito de prop drilling para melhorar a gestão de treinos?"

Por que é uma Contradição:

Prop drilling é exatamente o padrão que causa os problemas descritos (duplicação e dificuldade de manutenção) em aplicações escaláveis. Passar funções e estados através de múltiplos níveis de componentes via props torna o código:

Difícil de manter
Propenso a duplicação
Complexo de debugar
Soluções Mais Adequadas para Este Cenário:

✅ Context API (centraliza estado sem prop drilling)
✅ Custom Hooks (reutiliza lógica)
✅ State Management (Redux, Zustand)
Sugestão:

Ou a questão deveria pedir uma análise crítica sobre por que prop drilling não é ideal aqui, ou deveria apresentar um cenário diferente onde prop drilling seja realmente a solução apropriada.

Mesmo eu respondendo todas as possibilidades para testar (inclusive apresentando a solução em usar Prop Drilling) ela continua invertendo, exemplo, aplico sobre context API mas ela diz que tem que usar o prop drilling, daí falo do prop drilling ela me diz para pensar se essa seria realmente a melhor solução.

1 resposta

Opa, que feedback bom de receber — dá pra ver que você não só fez o exercício, você parou pra pensar nele. Isso é raro e é exatamente a postura que faz a diferença lá na frente.

A duplicação que o enunciado descreve normalmente não vem do prop drilling. Vem do contrário: estado e lógica copiados em vários componentes, cada um com a própria cópia da lista. O conserto clássico pra isso é subir o estado pra um ancestral comum e passar pra baixo via props — e isso É prop drilling. Ou seja, nesse cenário ele tá resolvendo a duplicação, não causando.

O que o prop drilling traz de ruim é outra coisa: verbosidade e acoplamento quando a árvore fica funda. Componente do meio carregando prop que ele nem usa, refactor chato porque mexeu numa prop e encostou em cinco níveis. Problema real — mas diferente do que o enunciado aponta.

Então o caminho é mais ou menos esse:

duplicação → centraliza o estado e passa via props (prop drilling resolve) → quando o drilling começa a doer → Context, hooks, Zustand

Context API e companhia não são a refutação do exercício, são o próximo degrau. Você vai pra eles quando o prop drilling cansa, não porque ele tava errado de saída. O exercício tá te ensinando o degrau de baixo de propósito.

A sua intuição de que prop drilling não é o destino final tá certa. Só inverteu a causa da duplicação no meio do caminho. Corrigido isso, seu raciocínio fica redondo.