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

[임귀태] Sprint8 #237

Conversation

KorpoQ
Copy link
Collaborator

@KorpoQ KorpoQ commented Aug 2, 2024

요구사항

기본

  • 스프린트 미션 1 ~ 7에 대해 typescript를 적용해주세요.

주요 변경사항

스크린샷

image

멘토에게

  • 미완성입니다. 과제 작업을 커밋으로 반영 예정입니다.

@KorpoQ KorpoQ self-assigned this Aug 2, 2024
@KorpoQ KorpoQ added 매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. 미완성🫠 죄송합니다.. and removed 매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. labels Aug 2, 2024
Jaeheon96 pushed a commit to Jaeheon96/8-Sprint-Mission that referenced this pull request Aug 2, 2024
…ithub-actions

[Fix] delete merged branch github action
Comment on lines +4 to +11
/**
* 태그 리스트
*
* @param {Array} tags - 태그 배열
* @param {function} onDelete - 태그가 지워질 때 실행할 함수
* @param {boolean} canDelete - 태그를 지울 수 있으면 X 아이콘 표시
* @returns {JSX.Element} - 태그 리스트 컴포넌트
*/
Copy link
Collaborator

Choose a reason for hiding this comment

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

아래코드 처럼 변경할 수 있겠네요! 😸

type Tag = string;

type TagListProps = {
  tags: Tag[];
  onDelete: (tag: Tag) => void;
  canDelete: boolean;
};

Comment on lines +3 to +8
/**
* 상품 정보 여럿을 읽는 함수
* @param {number} [page='1'] - 페이지 번호 (선택)
* @param {number} [pageSize='10'] - 페이지 당 상품 수 (선택)
* @param {string} [orderBy='recent'] - 정렬 기준 (선택)
* @param {string} [keyword] - 검색 키워드 (선택)
Copy link
Collaborator

Choose a reason for hiding this comment

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

여기선 이렇게 유니온 타입(Union Type) 사용해서 정의할 수 있겠어요.

type OrderBy = 'recent' | 'favorite';

type GetProductsParams = {
  page?: number;
  pageSize?: number;
  orderBy?: OrderBy;
  keyword?: string;
};

Comment on lines +7 to 16
* Button 컴포넌트
*
* @param {string} className - 버튼 클래스 이름
* @param {'small'|'medium'|'large'} [size='small'] - 버튼의 크기
* @param {'42'|'48'} [height='42'] - 버튼의 높이 (size가 small일 때만 사용)
* @param {'blue'|'white'} [theme='blue'] - 버튼의 테마 (size가 small이고 height가 48일 때만 white 사용 가능)
* @param {string} [to] - Link 태그로 사용될 경우 이동할 경로
* @param {React.ReactNode} children - 버튼 내부의 내용
* @returns {JSX.Element} - 버튼 컴포넌트
*/
Copy link
Collaborator

Choose a reason for hiding this comment

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

위에 param 값들이 아래처럼 Type으로 명시될 수 있어요.

type ButtonSize = 'small' | 'medium' | 'large';
type ButtonHeight = '42' | '48';
type ButtonTheme = 'blue' | 'white';

type ButtonProps = {
  className?: string;
  size?: ButtonSize;
  height?: ButtonHeight;
  theme?: ButtonTheme;
  to?: string;
  children: React.ReactNode;
};

Copy link
Collaborator

@arthurkimdev arthurkimdev left a comment

Choose a reason for hiding this comment

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

귀태님 과제 제출하시느라 수고하셨습니다! 🙏

@arthurkimdev arthurkimdev merged commit 065dd3d into codeit-bootcamp-frontend:React-임귀태 Aug 5, 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