2
respostas

Reactive vs. Template Driven

Compreendi o processo de definir um formulário como reativo, porém, no final das contas, ele fez a mesma coisa que o Template Driven, há algum motivo para usar Reactive ao invés do Template Driven que aprendemos no curso anterior a esse?

Além disso, essa maneira que aplicamos o Reactive Forms age da mesma maneira que o Template Driven, atualizando os dados apresentados na tela, de maneira "simultânea" ao que é alterado pela input, pode-se dizer então que ambos são maneiras de utilizar o Two-way data binding?

2 respostas

Oi Kaiky, tudo bem?

Você fez uma ótima observação! Realmente, em muitos aspectos, os formulários reativos e os formulários dirigidos por template (Template Driven) podem parecer fazer a mesma coisa. No entanto, existem algumas diferenças importantes que podem tornar um mais atraente que o outro dependendo do contexto.

  1. Controle detalhado: Os formulários reativos oferecem um controle mais detalhado e direto sobre o comportamento do formulário e dos dados do formulário. Isso pode ser especialmente útil em formulários complexos onde você precisa de mais controle sobre a validação ou quando você está trabalhando com dados dinâmicos.

  2. Testabilidade: Os formulários reativos são geralmente mais fáceis de testar porque você tem acesso direto aos dados do formulário e pode manipulá-los diretamente em seus testes.

  3. Performance: Em grandes formulários, os formulários reativos podem oferecer melhor desempenho porque eles não exigem a criação de tantos objetos de controle.

Em relação ao two-way data binding, sim, você está correto em dizer que ambos os formulários utilizam esse conceito. No entanto, a maneira como eles lidam com isso é um pouco diferente. No formulário dirigido por template, o two-way data binding é feito automaticamente pelo Angular através da diretiva ngModel. Já nos formulários reativos, você precisa definir manualmente os observáveis e as subscrições para atualizar os dados do formulário.

Espero ter te ajudado.

Um abraço e bons estudos.

Valeu!