Skip to content

Performance

Topic Recommendation
Mounting Mount once per view and unmount() on teardown. Never remount to show new values; use form.setValues() or restoreSnapshot().
Schemas Keep schema, layout, and transport objects stable in framework components so effects do not remount the form.
Subscriptions Use subscribeSelector with a narrow selector for previews and badges instead of subscribe to the whole state.
Reads form.getField(id).state is cheaper to reason about than diffing form.state yourself.
Asynchronous validation Set asyncValidationDebounceMs on fields whose validators call a service.
Series Bound maxPoints for large inputs; every row is validated and aggregated on change.
Reports Keep payloads to what the report shows; use report fetches with reportFetchMode: "lazy" for heavy, optional content.
Custom renderers Update existing elements on each snapshot instead of recreating them.

Snapshots are frozen and keep their identity until something changes, so equality checks are cheap and safe for framework stores.