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

[이은주] Sprint 5 #211

Conversation

eund00
Copy link

@eund00 eund00 commented Nov 24, 2024

기본 요구사항

  • Github에 PR(Pull Request)을 만들어서 미션을 제출합니다.
  • 피그마 디자인에 맞게 페이지를 만들어 주세요.
  • React를 사용합니다

체크리스트 [기본]

  • 중고마켓
  • 중고마켓 페이지 주소는 “/items” 입니다.
  • 페이지 주소가 “/items” 일때 상단네비게이션바의 '중고마켓' 버튼의 색상은 “3692FF”입니다.
  • 상단 네비게이션 바는 이전 미션에서 구현한 랜딩 페이지와 동일한 스타일로 만들어 주세요.
  • 상품 데이터 정보는 https://panda-market-api.vercel.app/docs/#/ 에 명세된 GET 메소드 “/products” 를 사용해주세요.
  • '상품 등록하기' 버튼을 누르면 “/additem” 로 이동합니다. ( 빈 페이지 )
  • 전체 상품에서 드롭 다운으로 “최신 순” 또는 “좋아요 순”을 선택해서 정렬을 할 수 있습니다.
  • 중고마켓 반응형
    베스트 상품 ( Desktop : 4개 보이기 / Tablet : 2개 보이기 / Mobile : 1개 보이기 )
    전체 상품 ( Desktop : 12개 보이기 / Tablet : 6개 보이기 / Mobile : 4개 보이기 )

체크리스트 [심화]

  • 페이지 네이션 기능을 구현합니다.

1124

진행한 부분까지 업로드하겠습니다!
fetch로 상품을 불러올 때부터 진행의 어려움이 시작되었습니다 😵
베스트 상품과 전체 상품은 어떻게 다르게 불러오는 건지 모르겠습니다.

@eund00 eund00 requested a review from devToram November 24, 2024 13:40
@eund00 eund00 self-assigned this Nov 24, 2024
@eund00 eund00 added the 순한맛🐑 마음이 많이 여립니다.. label Nov 24, 2024
Copy link
Collaborator

@devToram devToram left a comment

Choose a reason for hiding this comment

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

수고하셨습니다 👍

</Routes>
</BrowserRouter>
);
// 코드잇에서 하나의 페이지에서만 계속 작업하는 걸로 배워서.. https://goddaehee.tistory.com/305의 게시글을 참고해서 리액트 라우터 사용해보았습니당
Copy link
Collaborator

Choose a reason for hiding this comment

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

좋은 접근이에요!! 👍

Comment on lines +28 to +40
/*
코드잇 강의에서 계속 app.js를 만들길래 그 이유가 뭐지?? 했는데
`App.js`는 일반적으로 애플리케이션의 루트 컴포넌트를 정의하는 파일입니다. `App` 컴포넌트는 애플리케이션의 주요 구조와 로직을 포함하며, 다른 컴포넌트들을 포함하거나 조합하는 역할을 합니다.
라고 하더라고요.
또, 일반적인 리액트 폴더 구성이 아래처럼 app.js가 index.js랑 같은 위치에 있다고 해서 이렇게 만들어봤어요!
```
src/
├── components/
├── App.js
├── index.js
└── ...
```
*/
Copy link
Collaborator

Choose a reason for hiding this comment

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

return 으로 jsx 를 하기에 app.jsx 로 바꿔보는 것도 좋을 거 같아요!

function GlobalHeader() {

const location = useLocation();
console.log(location.pathname);
Copy link
Collaborator

Choose a reason for hiding this comment

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

console.log 파일이 들어갔네요ㅎㅎ!

Comment on lines +9 to +19
async function fetchProducts() {
try {
const result = await getProducts();
console.log("Result from getProducts:", result);
setItems(result.list);
} catch (error) {
console.error("Error fetching products:", error);
}
}
fetchProducts();
}, []);
Copy link
Collaborator

Choose a reason for hiding this comment

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

위의 AllProduct 와 중복되는 부분이라 따로 공통화하면 좋을 거 같아요!

// console.log(items)
return (
<div className="itemCard">
<img src={item.images[0]} alt={item.name} className="itemCardThumbnail" />
Copy link
Collaborator

Choose a reason for hiding this comment

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

item.images 가 [] 이 올 가능성이 조금이라도 있다면 방어코드로 item.images?.[0] 으로 처리해주는 것도 좋을 거 같아요!

@@ -0,0 +1,18 @@
function CardProduct({ item }) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

아래서 item.xx 처럼 속성을 쓰고 있어서 여기서 속성을 빼내서 사용하는 것도 좋을 거 같아요!
const {name, price, favoriteCount} = item

@devToram devToram merged commit b2c67f9 into codeit-bootcamp-frontend:React-이은주 Nov 26, 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.

4 participants