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

[김주동] sprint5 #78

Conversation

joodongkim
Copy link
Collaborator

요구사항

기본

  • 중고마켓 페이지 주소는 “/items” 입니다.

  • 페이지 주소가 “/items” 일때 상단네비게이션바의 “중고마켓" 버튼의 색상은 “3692FF”입니다.

  • 상단 네비게이션 바는 이전 미션에서 구현한 랜딩 페이지와 동일한 스타일로 만들어 주세요.

  • 전체 상품에서 드롭 다운으로 “최신 순” 또는 “좋아요 순”을 선택해서 정렬을 할 수 있습니다.

  • ‘상품 등록하기’ 버튼을 누르면 “/additem” 로 이동합니다 ( 빈 페이지 )

  • 카드 데이터는 제공된 백엔드 API 페이지의 GET 메소드인 “/products”를 사용해주세요

  • 미디어 쿼리를 사용하여 반응형 view 마다 물품 개수를 다르게 보여줍니다 (서버로 요청하는 값은 동일)

베스트 상품
Desktop : 4개 보이기
Tablet : 2개 보이기
Mobile : 1개 보이기

전체 상품
Desktop : 10개 보이기
Tablet : 6개 보이기
Mobile : 4개 보이기

심화

  • [] 페이지 네이션 기능을 구현합니다.
  • [] 반응형으로 보여지는 물품들의 개수를 다르게 설정할때 서버에 보내는 pageSize값을 적절하게 설정합니다.

주요 변경사항

스크린샷

image

멘토에게

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

@joodongkim joodongkim added the 순한맛🐑 마음이 많이 여립니다.. label Sep 7, 2024
@GANGYIKIM GANGYIKIM changed the title First commit Sprint Mission5 on React [김주동] sprint5 Sep 9, 2024
Copy link
Collaborator

@GANGYIKIM GANGYIKIM left a comment

Choose a reason for hiding this comment

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

주동님 첫 react 스프린트 미션 고생하셨습니다!
JS로만 작업하시다가 react로 작업하려고 하니 쉽지 않으셨거에요.
학습의 도구로 스프린트 미션을 진행하는 것이니 편하게 구현해보시면 좋을 것 같습니다.


  • 컴포넌트 및 로직을 관심사별로 분리하신 것이 좋습니다.
  • page 폴더를 생성하셔서 각 페이지별로 구분하신것과 components 폴더 내부에서 기준을 가지고 폴더를 분리하신것이 좋네요.

@@ -1,43 +1,18 @@
<!DOCTYPE html>
<html lang="en">
<html lang="ko">
Copy link
Collaborator

Choose a reason for hiding this comment

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

P3:
👍

Copy link
Collaborator

Choose a reason for hiding this comment

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

P3:
필요하다고 생각하는 것만 두시고, 글로벌 css도 추가하시고 좋네요 👍

<img src={item.images[0]} alt={item.name} className="itemCardThumbnail" />
<div className="itemSummary">
<h2 className="itemName">{item.name}</h2>
<p className="itemPrice">{item.price.toLocaleString()}원</p>
Copy link
Collaborator

Choose a reason for hiding this comment

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

P3:
toLocaleString을 이용해 콤마 찍어주신 것 좋습니다.

Comment on lines +2 to +3
// Using URLSearchParams allows for easy automatic encoding of parameter values.
const query = new URLSearchParams(params).toString();
Copy link
Collaborator

Choose a reason for hiding this comment

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

P3:
주석을 달아주셔서 어떤 의도로 위와 같이 작성하셨는지 이해가 갑니다.
다만 이렇게 되면 잘못된 값을 넘겨도 알 수 없습니다. (ex. orderBy대신 order로 넘김)
함수를 각 API별로 만들어 주실 거라면 param도 각 API에 해당하는 애들만 받을 수 있게 작업하시는 것을 추천드립니다.

Comment on lines +15 to +21
} else if (width < 1280) {
// Tablet viewport
return 6
} else {
// Desktop viewport
return 10
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

P3:
early return 문 방식으로 작성되어 있으므로 아래처럼 해도 동일 동작합니다.

Suggested change
} else if (width < 1280) {
// Tablet viewport
return 6
} else {
// Desktop viewport
return 10
}
}
// Tablet viewport
if (width < 1280) {
return 6
}
// Desktop viewport
return 10

@GANGYIKIM GANGYIKIM merged commit d48b01a into codeit-bootcamp-frontend:React-김주동 Sep 9, 2024
GANGYIKIM pushed a commit that referenced this pull request Oct 29, 2024
* chore: 머지 후 브랜치 삭제 github action 추가

* Initial commit from Create Next App

* fix: 머지 후 브랜치 삭제 github action 수정

* env: workflows 폴더로 이동

* First commit Sprint Mission5 on React

* First commit Sprint Mission5 on React (#78)

* Sprint mission 6 commit.

* Sprint Mission 6 Update 1

* update sprint mission 6

* Sprint mission 6 update commit.

* delete .bak files

* Update Comments

* modify ItemComment

* React 김주동 sprint7 (#97)

* First commit Sprint Mission5 on React

* Sprint mission 6 commit.

* Sprint Mission 6 Update 1

* update sprint mission 6

* Sprint mission 6 update commit.

* delete .bak files

* Update Comments

* modify ItemComment

* refactoring to typescript

* add LoginPage

* First commit

* REFACTOR: styled-components

* Merge branch 'Next-김주동' of https://github.com/joodongkim/10-Sprint-Mission into Next-김주동

* change from React.FC<type> to ({}:type)

---------

Co-authored-by: withyj <[email protected]>
Co-authored-by: hanseulhee <[email protected]>
GANGYIKIM pushed a commit that referenced this pull request Nov 5, 2024
* chore: 머지 후 브랜치 삭제 github action 추가

* Initial commit from Create Next App

* fix: 머지 후 브랜치 삭제 github action 수정

* env: workflows 폴더로 이동

* First commit Sprint Mission5 on React

* First commit Sprint Mission5 on React (#78)

* Sprint mission 6 commit.

* Sprint Mission 6 Update 1

* update sprint mission 6

* Sprint mission 6 update commit.

* delete .bak files

* Update Comments

* modify ItemComment

* React 김주동 sprint7 (#97)

* First commit Sprint Mission5 on React

* Sprint mission 6 commit.

* Sprint Mission 6 Update 1

* update sprint mission 6

* Sprint mission 6 update commit.

* delete .bak files

* Update Comments

* modify ItemComment

* refactoring to typescript

* add LoginPage

* First commit

* REFACTOR: styled-components

* Merge branch 'Next-김주동' of https://github.com/joodongkim/10-Sprint-Mission into Next-김주동

* change from React.FC<type> to ({}:type)

* feat: replace interface to type

* refactoring for nextjs

* feat: sprint#10 first commit

* review: sprint#10

---------

Co-authored-by: withyj <[email protected]>
Co-authored-by: hanseulhee <[email protected]>
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