From react-hook-form watch docs
When defaultValue is not defined, the first render of watch will return undefined because it is called before register. It's recommended to provide defaultValues at useForm to avoid this behaviour, but you can set the inline defaultValue as the second argument.
Are you providing a defaultValues object to your useForm
declaration?
const {watch} = useForm({defaultValues})