Перейти к основному содержимому

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>