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

[김한샘] week11 #360

Conversation

hansaemkim38
Copy link
Collaborator

요구사항

기본

  • 폴더 페이지에 필요한 “폴더 이름 변경”, “폴더 추가”, “폴더 공유”, “폴더 삭제”, “링크 삭제”, “폴더에 추가” 모달을 만들어 주세요.
  • “폴더 공유” 모달의 기능은 클릭시 ‘{호스트 주소}/shared/{currrentFolderId}’ 로 접속 가능한 주소를 공유 또는 클립보드에 복사 가능하게 해주세요.
  • 팀내 2 ~ 3명이 짝을 지어 페어프로그래밍으로 여러 모달을 만들 때 사용할 모달 컴포넌트를 만들어 주세요.
  • 카드에 있는 케밥 버튼을 클릭할 경우 보여야 할 팝오버를 만들어 주세요.

스크린샷

image

멘토에게

  • 시간이 부족해서 리팩토링을 진행하지 못하고 공유 부분 기능은 만들지 못했습니다.

@hansaemkim38 hansaemkim38 added the 미완성🫠 죄송합니다.. label Apr 28, 2024
Copy link
Collaborator

@Jay-WKJun Jay-WKJun left a comment

Choose a reason for hiding this comment

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

고생하셨습니다! 👍

  • 코드 컨벤션 변경 내용이 diff로 들어와서 정작 중요한 로직 변경이 잘 안들어오네요,,, 다음부턴 컨벤션 변경은 안보이도록 해주세요!
  • 코드를 관심사에 따라 더 나눠줄 여지가 있을 것 같아요. 좀 더 리팩토링 해보시면 좋을 것 같아요.
  • 반복되는 코드가 많습니다. 좀 더 리팩토링 해보면 좋을 것 같습니다.

<button className="link-button">추가하기</button>
</div>
</form>
const { openModal, setModalType } = useContext(ModalContext);
Copy link
Collaborator

Choose a reason for hiding this comment

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

useContext(ModalContext);

이 코드가 반복되고 있네요 해결방법이 없을까요?

Copy link
Collaborator

Choose a reason for hiding this comment

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

이건 useToggle이랑 다른 점이 없는 것 같네요.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Folder에 일반 JSX도 있고 Context도 있고 굉장히 많은 것들이 혼재해 있네요.

맥락에 따라 코드를 더 나눠보면 좋을 것 같습니다.

@@ -43,11 +48,16 @@ export const tabDataList = async () => {

export const userFoldersData = async () => {
try {
const response = await fetch(`${BASE_URL}api/users/1/links`);
if (!response.ok) {
const response = await axios.get(`${BASE_URL}api/users/1/links`);
Copy link
Collaborator

Choose a reason for hiding this comment

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

axios.get(`${BASE_URL}api/users/1/links

코드가 반복되는 것 같습니다.

Comment on lines +12 to +17
<li>
<button>
<img src={KakaoIco} alt="카카오톡 공유하기" />
<h3>카카오톡</h3>
</button>
</li>
Copy link
Collaborator

Choose a reason for hiding this comment

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

이 부분이 반복되는 것 같습니다.

Copy link
Collaborator

Choose a reason for hiding this comment

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

modalType 판단과 더불어, 무엇을 그려야하는지 jsx가 그대로 노출 돼 있어 가독성과 유지보수성이 떨어집니다.

좀 더 리팩토링 해볼 여지가 있을 것 같습니다.

Comment on lines +12 to +37
const cardTitleIcon = [
{
url: shareIcon,
text: "공유",
url: shareIcon,
text: "공유",
onClick: () => {
setModalType("share");
openModal();
},
},
{
url: penIcon,
text: "이름 변경",
url: penIcon,
text: "이름 변경",
onClick: () => {
setModalType("edit");
openModal();
},
},
{
url: deleteIcon,
text: "삭제",
url: deleteIcon,
text: "삭제",
onClick: () => {
setModalType("folderDelete");
openModal();
},
},
];
];
Copy link
Collaborator

Choose a reason for hiding this comment

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

상수는 컴포넌트안에서 선언하지 않는 것이 좋습니다.

컴포넌트의 특성과 변수 생성 규칙을 생각해보면 그 이유를 알 수 있습니다.

Copy link
Collaborator

@Jay-WKJun Jay-WKJun left a comment

Choose a reason for hiding this comment

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

고생하셨습니다! 👍

  • 코드 컨벤션 변경 내용이 diff로 들어와서 정작 중요한 로직 변경이 잘 안들어오네요,,, 다음부턴 컨벤션 변경은 안보이도록 해주세요!
  • 코드를 관심사에 따라 더 나눠줄 여지가 있을 것 같아요. 좀 더 리팩토링 해보시면 좋을 것 같아요.
  • 반복되는 코드가 많습니다. 좀 더 리팩토링 해보면 좋을 것 같습니다.

@Jay-WKJun Jay-WKJun merged commit ea04a5c into codeit-bootcamp-frontend:part2-김한샘 Apr 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
미완성🫠 죄송합니다..
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants