Seria melhor se tivesse feito o código junto com os alunos ao invés de entregar um código completo, e depois fazer alterações. Eu sei o que foi feito, mas não o porque está sendo feito. Qual foi o propósito das mudanças feitas nessa aula?
Seria melhor se tivesse feito o código junto com os alunos ao invés de entregar um código completo, e depois fazer alterações. Eu sei o que foi feito, mas não o porque está sendo feito. Qual foi o propósito das mudanças feitas nessa aula?
Olá, Diego!
A refatoração mudou a arquitetura de Controle via Estado (Props) para Controle via Referência (Métodos). O objetivo principal foi resolver o Prop Drilling: antes, você precisava passar o estado estaAberta por vários componentes intermediários desnecessariamente. Agora, com ref, o componente pai comanda a Modal diretamente.
Removemos o useEffect para otimizar a performance, evitando que a Modal renderize toda vez que um estado mude; agora ela só age quando recebe uma ordem direta. O forwardRef foi necessário tecnicamente porque componentes React não aceitam referências por padrão, e a interface ModalHandle serve para o TypeScript reconhecer que essa referência possui os métodos open e close.
Basicamente, o código ficou mais limpo e performático, preparando o terreno para você usar o hook useImperativeHandle na sequência.
Espero ter ajudado!
Bons estudos!
Sucesso ✨