Kemas kini objek sesi pengesahan seterusnya sebagai tindak balas kepada kemas kini permintaan tampalan pengguna
P粉748218846
P粉748218846 2023-08-26 10:02:00
0
1
739
<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粉748218846
P粉748218846

membalas semua(1)
P粉481815897

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>
  );
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan