Reactive forms are model-driven forms where form state and validation live in the component class, not the template.