Skip to content

Instantly share code, notes, and snippets.

@danieljpgo
Last active October 16, 2024 15:15
Show Gist options
  • Save danieljpgo/61e5973910c9e2df11a76f52b4869d10 to your computer and use it in GitHub Desktop.
Save danieljpgo/61e5973910c9e2df11a76f52b4869d10 to your computer and use it in GitHub Desktop.
react-hook-form + zod
import {
useForm as useHookForm,
UseFormProps as useHookFormProps,
} from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod";
import { TypeOf, ZodSchema } from "zod";
type UseFormProps<Z extends ZodSchema> = Omit<
useHookFormProps<TypeOf<Z>>,
'resolver'
> & {
schema: Z;
};
export function useForm<Z extends ZodSchema>({
schema,
...props
}: UseFormProps<Z>) {
return useHookForm({ ...props, resolver: zodResolver(schema) });
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment