Below is what I did, thanks to @classikh! It fixed my issue:
// Define your form.
const form = useForm<z.infer<typeof formSchema>>({
resolver: zodResolver(formSchema),
defaultValues: {
email: '',
},
values: {
email: user?.email ?? '',
}
})
In above code 'user' is coming from my hook which gets populated when user is fetched.