/
githubmirror
/
react-hook-form
Обзор
Документация
Войти
/
githubmirror
/
react-hook-form
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/controller.tsx
55 строк
2 KB
Beier (Bill)
🥷 chore: improve type import (#12879)
09 июн 2025, 08:51
Не верифицирован
09 июн 2025, 08:51
7ce7cc6
Код
Авторство
О чём код?
import type { ControllerProps, FieldPath, FieldValues } from './types'; import { useController } from './useController'; /** * Component based on `useController` hook to work with controlled component. * * @remarks * [API](https://react-hook-form.com/docs/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA) * * @param props - the path name to the form field value, and validation rules. * * @returns provide field handler functions, field and form state. * * @example * ```tsx * function App() { * const { control } = useForm<FormValues>({ * defaultValues: { * test: "" * } * }); * * return ( * <form> * <Controller * control={control} * name="test" * render={({ field: { onChange, onBlur, value, ref }, formState, fieldState }) => ( * <> * <input * onChange={onChange} // send value to hook form * onBlur={onBlur} // notify when input is touched * value={value} // return updated value * ref={ref} // set ref for focus management * /> * <p>{formState.isSubmitted ? "submitted" : ""}</p> * <p>{fieldState.isTouched ? "touched" : ""}</p> * </> * )} * /> * </form> * ); * } * ``` */ const Controller = < TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TTransformedValues = TFieldValues, >( props: ControllerProps<TFieldValues, TName, TTransformedValues>, ) => props.render(useController<TFieldValues, TName, TTransformedValues>(props)); export { Controller };