Typed reactive forms
In our project, if we look at the types of objects and values, we can see that they are all of the any
type. Although functional, it is possible to improve this development experience by better using TypeScript’s type checking.
Let’s refactor our code in the component as follows:
export class NewEntryFormReactiveComponent { private formBuilder = inject(FormBuilder); private exerciseSetsService = inject(ExerciseSetsService); private router = inject(Router); public entryForm = this.formBuilder.group({ date: [new Date(), Validators.required], exercise: ['', Validators.required], sets: [0, [Validators.required, Validators.min(0), multipleValidator(2)]], reps: [0, [Validators.required, Validators.min(0), multipleValidator(3)]], }); newEntry() { if...