인프런 커뮤니티 질문&답변

이우열님의 프로필 이미지
이우열

작성한 질문수

Next + React Query로 SNS 서비스 만들기

로그아웃 & 로그인 여부에 따라 화면 다르게 하기

NextAuth Credentials authorize의 결과 타입

작성

·

188

0

return {
  name: user.nickname,
  email: user.email,
  image: user.profileImage,
  ...user,
};

강의에서 user를 그대로 리턴해서 사용하지 않고 user를 커스텀해준 것을 보았습니다.

 

현재 return하는 값은 Typescript에서 지정한 User 타입을 그대로 사용하면서 수정해서 값을 할당해줬다고 이해했는데 추가로 들어가는 ...user는 어디에서 사용할 수 있는지 궁금합니다.

 

추가로 제 코드에는 반환하는 정보가 더 많은데 어떤 식으로 값을 할당해서 사용할 수 있는지 궁금합니다.

타입을 하나 만들어서 확장해서 사용하고 싶은데 따로 파일을 만들어줘야 할까요?

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

...user는 사실상 사용되지 않습니다.

확장법은 공지사항에 있습니다.

https://www.inflearn.com/news/1219576

 

이우열님의 프로필 이미지
이우열
질문자

공지사항을 못봤네요!

감사합니다!

이우열님의 프로필 이미지
이우열
질문자

새로운 내 정보를 가져오기 위한 API를 추가하는 방법 밖에 없을까요?

현재는 로그인하면 정보를 모두 전달해주고 있습니다.

이우열님의 프로필 이미지
이우열
질문자

jwt가 먼저 호출되는 것 같네요!!

callbacks: {
  async jwt({ token, user }) {
    console.log("jwt callback", token, user);
    if (user) {
      token = { ...token, ...user };
    }
    return token;
  },
  async session({ session, token }) {
    console.log("session callback", session, token);
    return session;
  },
},

이런 식으로 jwt에서 token에 user 정보를 다 넣어주니 session에서도 확인됐습니다!

이우열님의 프로필 이미지
이우열

작성한 질문수

질문하기