-
Notifications
You must be signed in to change notification settings - Fork 3
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
[FE] refactor : 리뷰 링크 관련 컴포넌트,훅,유틸 위치 변경 #1057
Conversation
- components/reviewURL 폴더로 이동 - URLGeneratorForm/style.ts 파일명 변경 (styles.ts -> style.ts) - URLGeneratorForm/style.ts에서 InputField, PasswordField 스타일 분리
- 리뷰 연결 페이지에서 사용 가능한 리뷰 리퀘스트 코드를 리뷰 링크 생성 시 발급하도록 변경
먼저 원활한 로그인 작업을 위해 폴더 구조를 손봐준 바다 짱...! 👍🥰 목데이터에도 중복이 있었군요... validateInput이 유틸로 빠진 것, inputs 폴더를 삭제하는 것은 동의합니다! 폴더 뎁스가 깊어져서 생기는 귀찮음도 있지만, 폴더를 열었을 때 등장하는 것들이 많은 것도 나름 보기 힘들겠다는 생각이 들어서요. |
이 부분을 고민했었는데 두 컴포넌트 모두 홈 페이지에서 사용하는 리뷰 링크 생성 폼의 디자인에 맞추어서 생성되어 있어서, 해당 폴더 하위에 두었어요. form 에 관련된 것들을 묶는 것으로 변경해봤는데, 하위에 컴포넌트와 훅이 있는 URLGeneratorForm 뎁스가 깊어져서 form 바꾸로 빼자니 이것도 폼이라 분류가 망땅치 않네요. |
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.
로그인을 도입함으로써 리뷰 링크 관련 컴포넌트를 홈 페이지가 아닌 여러 페이지에서 사용해야 되기 때문에 리뷰 링크 관련 컴포넌트들을 reviewURL
폴더 안에서 관리하는 것이 훨씬 좋은 것 같아요!!👍👍👍
URLGeneratorButton
의 경로에서 components
가 중복으로 포함되어 있어서 이거를 제거하고, URLGeneratorButton
을 URLGeneratorForm
바로 하위로 이동시키는 것은 어떨까요?
ex). componets/common/reviewURL/form/URLGeneratorForm/components/URLGeneratorButton
->
components/common/reviewURL/form/URLGeneratorForm/URLGeneratorButton
URLGeneratorForm 에 사용하는 컴포넌트 뿐만 아니라 훅들도 여러개라서 그 하위에 컴포넌트,훅 폴더를 나누었어요. |
"두 컴포넌트 모두 홈 페이지에서 사용하는 리뷰 링크 생성 폼의 디자인에 맞추어서 생성되어 있다~"에서 두 컴포넌트가 무엇인가요? 저는 FormBody, FormLayout같은 컴포넌트라고 생각하고 읽었는데, 이렇게 특정 컴포넌트에 종속된 컴포넌트라면 그 부모 컴포넌트 하단에 있어야 하는 거 아닌가? 싶은 의문이 들어서요. 제 제안은 큰 컴포넌트들을 한번 더 묶는다기보다는 큰 컴포넌트들/공통 컴포넌트들만 reviewURL 하단에 두자는 제안이었습니다! |
FormBody, FromLayout를 제가 만들기 않아서 제 나름대로 두 컴포넌트의 적용범위,재사용성을 생각해봤어요. 어떤 부모에 종속되어 있는 코드라기 보다는 props를 변경해 여러 폼에 사용할 수 있어 보이지만, 스타일이 리뷰 생성 폼에 맞춰져 있는 코드라 재사용측면에서 어렵다고 판단했어요. 현재 둘 다 URLGeneratorForm에서만 사용되고 있어요. props를 변경한다면 어느 곳에서나 쓸 수 있지만 이미 지정된 스타일로 인해 버튼 컴포넌트만큼의 재사용성이 있어보지이는 않아요. 그렇다고 리뷰 생성 폼 이외에서 사용되지 않는 상황이라 두 컴포넌트의 스타일을 확장/변경 가능하게 수정하는 것은 프로젝트 진행 상황에 맞지 않다고 판단했어요. 그래서 이 두 컴포넌트를 구현한 올리에게 묻고 싶은게, FormBodyd와 FormLayout을 컴포넌트로 따로 분리한 이유가 있을까요? |
구현 의도는 오래돼서 정확히 기억나지는 않지만 아마 초기에 비슷한 폼이지만 레이아웃 디자인이 조금 달랐던 케이스가 있었던 것 같아요. (어떤 폼은 가로 정렬, 어떤 경우에는 세로 정렬) 그래서 레이아웃을 별도로 추출해서 컴포넌트로 만들었는데, 바다 말대로 지금은 URLGeneratorForm 하위의 layout으로 들어가거나 아예 스타일 파일에 합치는 게 나을 것 같습니다. 궁금했던 점은 이렇게 URLGeneratorForm에 종속적인 컴포넌트들이 왜 밖으로 나와 있지? 였고요! |
- FormBody,FormLayout의 스타일을 URLGeneratorForm 로 이동 - 시맨틱 태그를 사용 URLGeneratorForm 구조를 보다 명확히 함
- URLGeneratorForm에 사용하는 컴포넌트들을 해당 폴더의 components 폴더로 이동
변경 사항 : FormBody,FormLayout 삭제에 따른 reviewURL 구조 변경URLGeneratorForm 컴포넌트 변경 사항
URLGeneratorForm 컴포넌트 변경하고, 릴리즈된 dev 페이지와 비교해서 스타일이 달라지지 않게 했어요. 그럼에도 스타일 상 오류가 발생했다면 알려주세요. 변경된 폴더/파일 구조
📦reviewURL
┣ 📂ReviewZoneURLModal
┃ ┣ 📜index.tsx
┃ ┗ 📜styles.ts
┣ 📂URLGeneratorForm
┃ ┣ 📂components
┃ ┃ ┣ 📂InputField
┃ ┃ ┃ ┣ 📜index.tsx
┃ ┃ ┃ ┗ 📜style.ts
┃ ┃ ┣ 📂PasswordField
┃ ┃ ┃ ┣ 📜index.tsx
┃ ┃ ┃ ┗ 📜style.ts
┃ ┃ ┣ 📂URLGeneratorButton
┃ ┃ ┃ ┗ 📜index.tsx
┃ ┃ ┣ 📜ReviewGroupDataField.tsx
┃ ┃ ┗ 📜index.tsx
┃ ┣ 📂hooks
┃ ┃ ┣ 📂usePostDataForReviewRequestCode
┃ ┃ ┃ ┣ 📜index.ts
┃ ┃ ┃ ┗ 📜test.tsx
┃ ┃ ┗ 📜useURLGeneratorState.ts
┃ ┣ 📜index.tsx
┃ ┗ 📜style.ts
┗ 📜index.ts |
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.
추가 작업까지 하느라 수고 많았어요 👍 겸사겸사 시맨틱까지 더 챙겨가게 되었네요!!
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.
리뷰 링크 폼이 재사용되고 규모가 커지면서 적절한 폴더 구조 변경인 것 같아요. 추가로 수정할 부분은 없는 것 같고, 스타일 깨지는 부분도 없는 것 확인했습니다. 고생했어요!👍🏻
🚀 어떤 기능을 구현했나요 ?
리뷰 링크 관련 컴포넌트가 담긴 폴더 구조
🔥 어떻게 해결했나요 ?
@/utils
로 이동했어요. 여러 페이지에서 사용 중인 usePasswordValidation훅에서도 사용 중이라 공통 유틸로 빼는 편이 좋을 거라 판단했어요.📝 어떤 부분에 집중해서 리뷰해야 할까요?
📚 참고 자료, 할 말