Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[장문원] week14 #451

Conversation

jangmoonwon
Copy link
Collaborator

요구사항

기본

  • 로그인, 회원가입 페이지를 만들어 주세요.
  • 로그인 페이지의 url path는 ‘/signin’, 회원가입 페이지의 url path는 ‘/signup’ 입니다.

심화

  • 로그인, 회원가입 기능에 react-hook-form을 활용해 주세요.

주요 변경사항

  • react-hook-form을 통해서 전체적인 form들을 관리해주면서 zod 라이브러리를 사용하여 validation 처리를 따로 해주었습니다.

스크린샷

멘토에게

  • 지난 주 코드 리뷰 주신 것을 토대로 간단하고 작은 부분들을 분리해보았습니다.
  • 다른 부분에도 뺄 수 있는 부분들이 있다면 알려주시면 좋을 것 같습니다.
  • 셀프 코드 리뷰를 통해 질문 이어가겠습니다.

@jangmoonwon jangmoonwon requested a review from 1005hoon May 19, 2024 12:41
Copy link
Collaborator

@1005hoon 1005hoon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jangmoonwon

문원님! 고생 많으셨습니다.

역할 분리를 되게 잘 해주셨어요!
다만 로그인 페이지나 회원가입 페이지에서 굳이 한 파일 안에 모든걸 다 작성을 하시다보니 콤포넌트 복잡도가 생겨버렸는데요
레이아웃으로 활용되는 요소와, 실제 비지니스 로직이 사용되어야 하는 요소를 분리해주시고
onSubmit과 같은 액션에 대해서 사용될 비지니스 로직과, ui업데이트를 하는 로직을 분리하는 형태로 리팩토링 될 수 있으면 좋겠어요.

자세한 사항은 코드단에 리뷰 남겨두었으니 참고 부탁드려요.
고생하셨습니다!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jangmoonwon

음 각 필드 요소에 대해 스키마를 짜기보단,

user가 지녀야 하는 정보에 대한 스키마라면 userSchema로,
로그인 인증을 위해 필요한 데이터 스키마라면 loginAuthSchema로,
회원가입을 위해 필요한 스키마라면 registerAuthSchema로 구분짓는게 좋겠어요

pages/signin/index.tsx Show resolved Hide resolved
pages/signin/index.tsx Show resolved Hide resolved
pages/signup/index.tsx Show resolved Hide resolved
pages/signup/index.tsx Show resolved Hide resolved
pages/signin/index.tsx Show resolved Hide resolved
@1005hoon 1005hoon merged commit c35774b into codeit-bootcamp-frontend:part3-장문원 May 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants