Skip to content

API Reference / @gtkx/forms / FormProvider

Variable: FormProvider

const FormProvider: <TFieldValues, TContext, TTransformedValues>({ children, watch, getValues, getErrors, getFieldState, setError, clearErrors, setValue, setValues, trigger, formState, resetField, reset, resetDefaultValues, handleSubmit, unregister, control, register, setFocus, subscribe, }) => React.JSX.Element

Defined in: node_modules/.pnpm/react-hook-form@7.86.0_react@19.2.8/node_modules/react-hook-form/dist/useFormContext.d.ts:64

A provider component that propagates the useForm methods to all children components via React Context API. To be used with useFormContext.

Type Parameters

TFieldValues

TFieldValues extends FieldValues

TContext

TContext = any

TTransformedValues

TTransformedValues = TFieldValues

Parameters

{ children, watch, getValues, getErrors, getFieldState, setError, clearErrors, setValue, setValues, trigger, formState, resetField, reset, resetDefaultValues, handleSubmit, unregister, control, register, setFocus, subscribe, }

FormProviderProps<TFieldValues, TContext, TTransformedValues>

Returns

React.JSX.Element

Remarks

APIDemo

Example

tsx
function App() {
  const methods = useForm();
  const onSubmit = data => console.log(data);

  return (
    <FormProvider {...methods} >
      <form onSubmit={methods.handleSubmit(onSubmit)}>
        <NestedInput />
        <input type="submit" />
      </form>
    </FormProvider>
  );
}

 function NestedInput() {
  const { register } = useFormContext(); // retrieve all hook methods
  return <input {...register("test")} />;
}

Released under the MPL-2.0 License.