Error de importación intentada: "useForm" no se exporta desde "react-hook-form".
TLDR
Para arreglar Error de importación intentada: 'useForm' no se exporta desde 'react-hook-form' (importado como 'useForm') agrega 'use client' a tu componente cliente contenedor así:
'use client'
import { Authenticator } from '@aws-amplify/ui-react'
export function AuthenticatorClient({ children }) {
return <Authenticator>{({ signOut, user }) => <>{children}</>}</Authenticator>
}
Arreglando "Error de importación intentada: 'useForm' no se exporta desde 'react-hook-form' (importado como 'useForm')".
Cuando usas AWS Amplify, Amplify UI y NextJS puedes encontrarte con el siguiente error:
./node_modules/@aws-amplify/ui-react-core/dist/esm/components/FormCore/FormProvider.mjs
Attempted import error: 'useForm' is not exported from 'react-hook-form' (imported as 'useForm').
Está relacionado con tener que usar un componente del lado del cliente en un componente del servidor, como el Authenticator de la librería Amplify UI.
Para resolver el error agrega 'use client' a tu componente cliente contenedor, como se explica en la documentación de NextJS, cuando
usas paquetes de terceros y proveedores que usan características de cliente solamente de ReactJS como useState y no implementan la directiva 'use client'.
'use client'
import { Authenticator } from '@aws-amplify/ui-react'
export function AuthenticatorClient({ children }) {
return <Authenticator>{({ signOut, user }) => <>{children}</>}</Authenticator>
}