@matthew.ngo/reform
Version:
A flexible and powerful React form management library with advanced validation, state observation, and multi-group support
27 lines (26 loc) • 1.08 kB
TypeScript
import { UseFormStateReturn } from 'react-hook-form';
import { FormStateObserverOptions, FormStateObserverReturn } from './types';
import { FormGroup } from '../../core/form/form-groups';
/**
* Hook for observing form state changes without causing unnecessary re-renders
*
* @template T - Form data type
* @param formState - React Hook Form formState object
* @param options - Configuration options
* @returns Object with form state observer utilities
*
* @example
* const form = useReform(config);
* const { formState } = form.formMethods;
* const stateObserver = useFormStateObserver(formState, {
* onDirtyChange: (isDirty) => {
* if (isDirty) saveFormDraft(form.getValues());
* },
* onErrorsChange: (hasErrors, errors) => {
* if (hasErrors) console.log('Form has errors:', errors);
* }
* });
*/
export declare const useFormStateObserver: <T extends Record<string, any>>(formState: import("react-hook-form").FormState<{
groups: FormGroup<T>[];
}>, options?: FormStateObserverOptions<T>) => FormStateObserverReturn<T>;