개발자
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로 구글 연동하신 분들 같은 이슈 해결해본적 있으신가요??
답변 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 }>)
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!