useFormContext
is a hook provided by the react-hook-form
library that allows you to access the form context from any nested component in a React form.
When using react-hook-form
, you create a FormProvider
component that wraps your form components and provides a context for managing the form state. useFormContext
allows you to access this context from any nested component without having to pass props down through each level of the component tree.
Here's an example of how to use useFormContext
:
import React from 'react'; import { useForm, FormProvider, useFormContext } from 'react-hook-form'; const MyComponent = () => { const methods = useForm(); return ( <FormProvider {...methods}> <MyForm /> </FormProvider> ); } const MyForm = () => { const { register, handleSubmit } = useFormContext(); const onSubmit = (data) => { console.log(data); }; return ( <form onSubmit={handleSubmit(onSubmit)}> <input {...register('firstName')} /> <input {...register('lastName')} /> <button type="submit">Submit</button> </form> ); }
In this example, useFormContext
is used in the MyForm
component to access the register
and handleSubmit
functions from the form context. These functions are used to register form inputs and handle form submissions, respectively. By using useFormContext
, you can avoid having to pass register
and handleSubmit
as props through each level of the component tree, making your code cleaner and easier to manage.
No comments:
Post a Comment