FormProvider
</> FormProvider: FormProviderProps
이 컴포넌트는 컨텍스트 객체를 제공하며, 하위 컴포넌트가 컨텍스트를 구독하고 useForm의 props와 메서드를 사용하도록 합니다.
Props(속성)
다음 표는 FormProvider에 적용됩니다. useFormContext는 인수를 받지 않습니다.
| 이름 | 타입 | 설명 |
|---|---|---|
...props | Object | FormProvider에는 모든 useForm 메서드가 필요합니다. |
예시:
import { useEffect } from "react"
import { useForm, FormProvider, useFormContext } from "react-hook-form"
export default function App() {
const methods = useForm()
const onSubmit = (data) => console.log(data)
const { register, reset } = methods
useEffect(() => {
reset({
name: "data",
})
}, [reset]) // ❌ never put `methods` as a dependency
return (
<FormProvider {...methods}>
<form onSubmit={methods.handleSubmit(onSubmit)}>
<NestedInput />
<input {...register("name")} />
<input type="submit" />
</form>
</FormProvider>
)
}
function NestedInput() {
const { register } = useFormContext() // retrieve all hook methods
return <input {...register("test")} />
}