개발자

Type error: Property 'session' does not exist on type '{}' (nextjs auth google 연동)

2022년 11월 08일조회 314

next-auth 라이브러리를 사용해서 구글 로그인을 구현하고있는데 에러가 발생합니다. https://dantechblog.gatsbyjs.io/posts/next-auth/ 이 글을 따라서 연동중이고 import type { AppProps } from "next/app"; import {SessionProvider} from 'next-auth/react'; ​ const App = ({Component, pageProps}:AppProps) => { return ( <SessionProvider session={pageProps.session}> <Component {...pageProps} /> </SessionProvider> ); } ​ export default App; 위와 같이 작성한 코드에서 pageProps가 session 타입을 가지고 있지 않다고 에러가 나옵니다.. (Type error: Property 'session' does not exist on type '{}' ) 혹시 next-auth로 구글 연동하신 분들 같은 이슈 해결해본적 있으신가요??

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

성원님의 프로필 사진

next 12.3 버전 사용중이신가요? 12.3 버전에서 pageProps의 타입 기본값으로 {}이 설정되어 있습니다 (이전 버전에는 any였음) 참고하신 블로그 글에서는 pageProps 타입이 any였기 때문에 pageProps.session과 같이 접근할 수 있었던 것 같네요. https://github.com/vercel/next.js/pull/38867 12.3 버전에 링크로 첨부한 PR이 적용되어서 제네릭으로 pageProps에 타입을 적용할 수 있습니다. 따라서 다음과 같이 작성하면 해결 될 것 같네요! function MyApp({ Component, pageProps }: AppProps<{ session: Session }>)

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!