cari

Rumah  >  Soal Jawab  >  teks badan

Kemas kini objek sesi pengesahan seterusnya sebagai tindak balas kepada kemas kini permintaan tampalan pengguna

<p>Saya mencari di Internet untuk masa yang lama tetapi tidak menemui jawapannya. Terdapat beberapa cara untuk membetulkannya, tetapi ia tidak berkesan untuk saya apabila saya mencubanya. Jadi, apabila pengguna log masuk dan sesi dibuat, bagaimana cara saya mengemas kini data baharu dalam objek sesi itu selepas pengguna dikemas kini melalui permintaan tampalan pada bahagian belakang API. Terima kasih semua atas balasan dan masa anda. </p> <p>Saya mencuba pelbagai "helah" yang saya temui dalam talian, dan ia berkesan untuk sesetengah orang, tetapi tidak untuk saya. Saya mahu objek sesi dikemas kini selepas patch dipanggil dan data pengguna dikemas kini. </p>
P粉748218846P粉748218846488 hari yang lalu749

membalas semua(1)saya akan balas

  • P粉481815897

    P粉4818158972023-08-27 09:17:05

    Jadi saya menulis artikel di Medium tentang cara menyelesaikan masalah ini: Cara menggunakan useSession() Hook untuk mengemas kini data sesi pengguna dalam NextAuth

    import { useSession } from 'next-auth/client';
    
    export default function UserInfo() {
      const { data: session, update } = useSession();
    
      const handleUpdateUser = async () => {
        const newSession = {
          ...session,
          user: {
            ...session?.user,
            email: "someone@example.com"
          },
        };
    
        await update(newSession);
      };
    
      return (
        <button onClick={handleUpdateUser}>
          更新用户
        </button>
      );
    }

    balas
    0
  • Batalbalas