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

[고학영] week12 #383

Conversation

hakyoung12
Copy link
Collaborator

@hakyoung12 hakyoung12 commented May 5, 2024

요구사항

기본

  • TypeScript를 활용해 프로젝트의 필요한 곳에 타입을 명시해 주세요.
  • ‘/shared’, ‘/folder’ 페이지에 현재 폴더에서 검색어가 포함된 링크를 찾을 수 있는 링크 검색 기능을 만들어 주세요.

심화

  • 폴더 페이지에 상단에 있는 링크 추가하기 input이 화면에서 가려질 때 최하단에 고정해 주세요.

주요 변경사항

  • �타입스크립트 타입 명시
  • 검색 기능 적용

스크린샷

스크린샷 2024-05-05 오후 10 00 04 스크린샷 2024-05-05 오후 10 00 17

멘토에게

  • 셀프 코드 리뷰를 통해 질문 이어가겠습니다.

@hakyoung12 hakyoung12 closed this May 5, 2024
@hakyoung12 hakyoung12 reopened this May 5, 2024
@hakyoung12 hakyoung12 requested review from Jay-WKJun and removed request for Jay-WKJun May 5, 2024 13:04
@hakyoung12 hakyoung12 added 매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. 미완성🫠 죄송합니다.. labels May 5, 2024
@hakyoung12 hakyoung12 requested a review from Jay-WKJun May 7, 2024 07:49
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.

고생하셨습니다. 👍

정말 죄송합니다. 이번주까지 제가 맡은 것인줄 몰랏네요 ㅠㅠㅠㅠ 😭

  • 같은 타입 선언이 여러번 이뤄진 것이 보입니다. 하나의 타입을 가지고 이용해보세요. (DRY!)
  • 리액트에서 제공하는 타입들을 잘 사용해주셨네요 👍

Utility Type에 대해 학습해보시는 걸 추천합니다.

수고하셨습니다!

Copy link
Collaborator

Choose a reason for hiding this comment

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

build 결과물들은 내 소스 코드가 변하면 함께 변하는 것이기 때문에 git으로 등록할 필요가 없습니다.

이런 내용물들은 .gitignore에 등록해주세요.

Comment on lines +40 to +41
"devDependencies": {
"typescript": "^5.4.5"
Copy link
Collaborator

Choose a reason for hiding this comment

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

typeScript 자체는 결과물에 포함이 안되죠.

dev에 잘 구분해서 적절히 추가두셨네요. 👍


function AddLinkInput() {
const AddLinkInput: React.FC = () => {
Copy link
Collaborator

Choose a reason for hiding this comment

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

React.FC는 사용하지 않는 편이 좋습니다.

https://yceffort.kr/2022/03/dont-use-react-fc

Comment on lines +5 to +15
interface Link {
created_at: string;
description: string;
folder_id: number;
id: number;
image_source: string;
title: string;
updated_at: number | null;
url: string;
[key: string]: any;
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

이와 같은 type들이 다른 파일에서 여럿 보이네요.

필요할때마다 유사하게 타입을 선언하기 보단 하나의 Link 타입을 가지고 재활용해주는 편이 좋습니다.

Comment on lines +9 to +15
link: {
created_at: string;
description: string;
image_source: string;
title: string;
url: string;
};
Copy link
Collaborator

Choose a reason for hiding this comment

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

CardList 컴포넌트의 Link type의 부분적인 형태같네요.

하나의 Link를 가지고 필요한 property만 빼서 새로운 type으로 만들어 사용할 수도 있습니다.

Omit, Partial 등의 Utility type들을 한번 사용해보세요.

Comment on lines +16 to +26
interface Link {
created_at: string;
description: string;
folder_id: number;
id: number;
image_source: string;
title: string;
updated_at: number | null;
url: string;
[key: string]: any;
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

동일한 Link 타입이 또 있네요.

interface의 경우 말씀드렸듯이, 이름이 같으면 알아서 타입이 확장됩니다.
따라서, 어느순간 내 의도와는 다르게 타입이 변해버릴지 몰라서 굉장히 위험합니다.

하나의 타입을 재활용하던가 타입 이름을 Unique하게 만들어주세요.

@Jay-WKJun Jay-WKJun merged commit a0202fa into codeit-bootcamp-frontend:part2-고학영 May 10, 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