UNPKG

envoc-form

Version:

Envoc form components

17 lines (14 loc) 555 B
import { useCallback } from 'react'; import { FormBuilderProp } from 'Form/Form'; import { useFormikContext } from 'formik'; export default function useFormValue< TForm extends object, TPropKey extends keyof TForm >(formBuilder: FormBuilderProp<TForm>, fieldName: TPropKey) { const { values, setFieldValue } = useFormikContext<TForm>(); const setValue = useCallback( (value: TForm[TPropKey]) => setFieldValue(fieldName as string, value), [fieldName, setFieldValue] ); return [values[fieldName], setValue] as const; }