@matthew.ngo/reform
Version:
A flexible and powerful React form management library with advanced validation, state observation, and multi-group support
34 lines (33 loc) • 1.06 kB
TypeScript
import { FormGroup } from '../../form/form-groups';
import { ErrorRendererReturn } from './types';
/**
* Hook for managing custom error renderers in Reform forms
*
* @template T - The type of form data
* @param groups - The form groups
* @returns Object with error renderer utilities
*
* @example
* // Basic usage
* const reform = useReform(config);
* const { registerErrorRenderer, renderError } = useErrorRenderer(reform.getGroups());
*
* // Register a custom renderer for email fields
* useEffect(() => {
* const unregister = registerErrorRenderer({
* field: 'email',
* renderer: ({ error }) => <EmailErrorMessage error={error} />
* });
*
* return unregister;
* }, []);
*
* // Use the renderer in your form
* return (
* <div>
* <input {...reform.register(0, 'email')} />
* {renderError('email', reform.getFieldError(0, 'email'), 0)}
* </div>
* );
*/
export declare const useErrorRenderer: <T extends Record<string, any>>(groups: FormGroup<T>[]) => ErrorRendererReturn<T>;