useFormControl()
Хук для работы с FieldNode или ArrayNode - возвращает состояние с подписками на сигналы
Использует useSyncExternalStore для оптимальной интеграции с React 18+. Компонент ре-рендерится только когда реально изменились данные контрола.
Examples
const { value, errors, componentProps } = useFormControl(control);
return (
<div>
<input value={value} onChange={e => control.setValue(e.target.value)} />
{errors.length > 0 && <span>{errors[0].message}</span>}
</div>
);
const { length } = useFormControl(arrayControl);
return (
<div>
{arrayControl.map((item, index) => (
<ItemComponent key={item.id || index} control={item} />
))}
{length === 0 && <span>Список пуст</span>}
</div>
);
Call Signature
function useFormControl<T>(control): ArrayControlState<T>;
Defined in: hooks/useFormControl.ts:364
Хук для работы с ArrayNode - возвращает состояние массива с подписками на сигналы
Type Parameters
T
T extends FormFields
Parameters
control
ArrayNode<T> | undefined
Returns
ArrayControlState<T>
Call Signature
function useFormControl<T>(control): FieldControlState<T>;
Defined in: hooks/useFormControl.ts:372
Хук для работы с FieldNode - возвращает состояние поля с подписками на сигналы
Type Parameters
T
T extends FormValue
Parameters
control
FieldNode<T>
Returns
FieldControlState<T>