Handling Forms via Form ActionsEntry 10 of 10

Summary

ConceptReact 19Angular
Submit with a function<form action={fn}>(ngSubmit)="submit()"
Read valuesformData.get(), getAll()form.getRawValue()
ValidateRules in the action, return errorsValidators on the form model
Action result as stateuseActionState → [state, formAction, isPending]Signals set in the submit method
Action signature(prevState, formData) with useActionStateNo equivalent
After submitUncontrolled fields reset automaticallyValues kept until reset()
Keep values after errorsdefaultValue from returned stateDefault behavior
PendingisPendingisPending signal + finalize()
Pending in a childuseFormStatus() (react-dom)Input or component-level service
Different actions per button<button formAction={fn}>(click) per button
Optimistic UIuseOptimistic (auto revert)Signal update + manual rollback

React 19 turns forms into actions: functions that receive FormData, return state, and run in Transitions, so pending flags, resets, and optimistic values come built in. Angular keeps the form state in a model and leaves submission, pending state, and rollback to your component and services, which is more code but fully explicit.