我使用next 13 new app dir和nextAuth。
下面的代码在服务器端成功返回了currentUser,但在客户端却没有!
import { getServerSession } from "next-auth/next";
import prisma from "@/app/hooks/libs/prismadb";
import { authOptions } from "@/pages/api/auth/[...nextauth]";
export async function getSession() {
return await getServerSession(authOptions)
}
export default async function getCurrentUser() {
try {
const session = await getSession();
if (!session?.user?.email) {
return null;
}
const currentUser = await prisma.user.findUnique({
where: {
email: session.user.email as string,
}
});
if (!currentUser) {
return null;
}
return currentUser
} catch (error: any) {
return null;
}
}
那么,客户端如何获取currentUser?
1条答案
按热度按时间tjjdgumg1#
在顶级根布局中,使用
SessionProvider
将其 Package 起来然后在任何客户端组件中