An object that represents a tree of fields in a form. This includes both primitive value fields
(e.g. fields that contain a string
or number
), as well as "grouping fields" that contain
sub-fields. FieldTree
objects are arranged in a tree whose structure mimics the structure of the
underlying data. For example a FieldTree<{x: number}>
has a property x
which contains a
FieldTree<number>
. To access the state associated with a field, call it as a function.
API
type FieldTree<TValue, TKey extends string | number = string | number> = (() => FieldState< TValue, TKey>) & (TValue extends Array<infer U> ? ReadonlyArrayLike<MaybeFieldTree<U, number>> : TValue extends Record<string, any> ? Subfields<TValue> : unknown)
Jump to details