-
Notifications
You must be signed in to change notification settings - Fork 165
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
[1단계 - 페이먼츠] 마루(박규한) 미션 제출합니다. #359
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com> Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
Co-authored-by: Parkhanyoung <phanyoung@naver.com>
안녕하세요 하루! 여러 고민들을 하다가 리뷰 반영이 늦었네요ㅠ 코멘트마다 반영사항과 질문들을 추가하였는데 요약하면 다음과 같습니다.
|
365kim
approved these changes
Apr 22, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
안녕하세요 하루! 리액트 첫 미션 잘부탁드립니다 😁
리액트는 이전에 여러번 써봤는데 이번 미션에서는 공통 컴포넌트를 만들면서 범용성있는 컴포넌트를 만들기 위해 노력하였습니다.
사용자의 다양한 시나리오들을 생각해보면서 타입과 props를 유연하게 받을 수 있도록 구현하였습니다.
프로젝트 배포 : 프로젝트 배포 링크 (재배포)
storybook : storybook 배포 링크 (재배포)
실행 방법
✅ 구현 사항
공통 컴포넌트
isError만 props로 전달
하고, 나머지는rest 파라미터
를 이용하여 input 태그 자체 attributes도 자유롭게 props로 받기도메인 컴포넌트
custom hooks
💭 질문 사항
유효성 검증 로직
입력값에 대한 유효성 검증 로직을 어떻게 구현할 지에 대한 고민이 많았습니다. 현재 inquiry라는 계층을 만들어
유효성 검사와 에러 메세지를 반환
하는 2가지 작업을 처리하고 있습니다. 에러가 날 경우 에러 메세지를 반환하는데, 에러가 발생하지 않을 경우 빈 string을 반환하여 이를 정상적인 케이스로 판단하였습니다. 이 때 Error를 throw해서 try-catch로 에러를 처리하는 게 적절한 지, 현재 에러 처리 로직이 구조적으로 어떻게 느껴지는 지 궁금합니다!스타일링 라이브러리 (CSS Module, styled-components, emotion)
첫 번째 선택은 CSS Module과 CSS in JS 였습니다. 둘 중에 CSS in JS를 선택한 이유는 스타일링을 컴포넌트 방식으로 묶어줌으로써 네이밍으로 의도를 밝힐 수 있고, 직관적으로 보여 개발자 경험이 향상된다고 생각하였습니다. 또한 특정 값에 따라 다른 스타일을 적용시킬 때 클래스 자체를 변경하지 않고 속성만 변경할 수 있다는 점에서 더 편리다고 생각합니다. 번째 선택은 styled-components와 emotion 입니다. styled-components 를 사용한 이유는 팀원의 숙련도 또는 러닝커브도 중요한 선택 이유라고 생각하는데, 사용해본 경험이 있는 스타일링을 사용하는 게 적합하다고 생각했습니다. 이러한 흐름이 적절한 지와 하루는 어떻게 라이브러리 선택을 결정하는 지 궁금합니다!