-
카테고리
-
세부 분야
프론트엔드
-
해결 여부
미해결
AuthProvider 사용 시 서버 컴포넌트가 궁금합니다.(+ API 관련)
24.03.19 22:58 작성 조회수 99
0
안녕하세요. 항상 강의 잘 보고 있습니다!
return (
<html lang="en">
<body className={inter.className}>
<MSWComponent />
<AuthSession>
{children}
</AuthSession>
</body>
</html>
)
next-auth 강의 내용 중 최상위 layout.tsx에서 위 코드와 같이 AuthSession 감싸주신 걸 볼 수 있는데 이는 next-auth에서 제공하는 SesisonProvider를 통해 감싸진 자식 컴포넌트들에서 session 데이터를 공유하기 위함으로 이해하였습니다.
그런데 SessionProvider는 useSession 훅을 사용하는 컴포넌트에 대해 session 데이터를 공유하는 것이기에 "use client"가 사용되는데 최상위 layout 파일에 AuthSession으로 그것의 children을 감싸게 되면 그 아래에 포함된 모든 컴포넌트들이 전부 클라이언트 컴포넌트가 되기 때문에 이렇게 되었을 때 계층 아래의 서버컴포넌트들이 제대로 서버 컴포넌트로써 작동할 수 있는지가 궁금합니다.
그래서 useSession을 사용해야 하는 컴포넌트의 상위에서만 해당 provider로 감싸주고 서버 컴포넌트에서 session이 필요한 경우 해당 provider로 감싸지 않아도 session을 가져올 수 있지 않나 궁금증이 들어 질문드립니다.
답변을 작성해보세요.
답변 1