Maison  >  Questions et réponses  >  le corps du texte

Rendu non-stop lors de l'utilisation de Next-Auth dans NextJS

<p>这是我的“/app/api/auth/[...nextauth]/route.js”</p> <pre class="brush:php;toolbar:false;">importer NextAuth depuis "next-auth/next" ; importer GoogleProvider depuis "next-auth/providers/google" ; exporter const authOptions = { fournisseurs: [ Fournisseur Google({ ID client : process.env.GOOGLE_CLIENT_ID, clientSecret : process.env.GOOGLE_CLIENT_SECRET, }), ], } ; gestionnaire const = NextAuth (authOptions); export { gestionnaire en tant que GET, gestionnaire en tant que POST };</pre> <p> et sessionProvider.js</p> <pre class="brush:php;toolbar:false;">"utiliser le client"; importer React depuis « react » ; importer {SessionProvider} depuis "next-auth/react" ; const Sessionprovider = ({ enfants }) => { return <SessionProvider>{children}</SessionProvider>; } ; exporter le fournisseur de session par défaut;</pre> <p>我用这个将子元素包装在 Layout.js 中</p> <pre class="brush:php;toolbar:false;"><html lang="fr"> <body className={inter.className}> <Sessionprovider>{enfants}</Sessionprovider> </corps> </html></pre> <p>这是我的 page.js</p> <pre class="brush:php;toolbar:false;">"utiliser le client"; importer {getServerSession} depuis "next-auth" ; importer { signIn, signOut, useSession } depuis "next-auth/react" ; importer { authOptions } depuis "./api/auth/[...nextauth]/route" ; exporter la fonction asynchrone par défaut Home() { const { données : session, statut } = useSession(); console.log(session); const _signInWithGoogle = async () => { attendre la connexion("google"); } ; retour ( <div className="flex justifier-centre éléments-centre flex-col écart-3 p-5"> <h1 className="font-semibold text-lg">Page d'accueil</h1> {session ? ( <bouton onClick={() => se déconnecter()} className = "p-1 bg-blue-400 texte-blanc police-semibold arrondi-md survol : bg-blue-500" > Se déconnecter </bouton> ) : ( <bouton onClick={_signInWithGoogle} className = "p-1 bg-blue-400 texte-blanc police-semibold arrondi-md survol : bg-blue-500" > Se connecter </bouton> )} </div> ); }</pré> <p>Lorsque j'exécute l'application, le rendu continue. Toute aide à ce sujet serait grandement appréciée. Puisque la console affiche l'objet utilisateur, il reste dans le composant de connexion. </p>
P粉811329034P粉811329034383 Il y a quelques jours526

répondre à tous(1)je répondrai

  • P粉828463673

    P粉8284636732023-09-06 00:06:41

    Vous devez supprimer async du composant client.

    "use client";
    
    export default function Home() {
    }
    

    https://github.com/vercel/next.js/issues/48822

    répondre
    0
  • Annulerrépondre