-
Notifications
You must be signed in to change notification settings - Fork 43
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
The head ref may contain hidden characters: "React-\uC774\uC740\uC8FC-sprint5"
[이은주] Sprint 5 #211
Conversation
…ithub-actions [Fix] delete merged branch github action
There was a problem hiding this 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의 게시글을 참고해서 리액트 라우터 사용해보았습니당 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
좋은 접근이에요!! 👍
/* | ||
코드잇 강의에서 계속 app.js를 만들길래 그 이유가 뭐지?? 했는데 | ||
`App.js`는 일반적으로 애플리케이션의 루트 컴포넌트를 정의하는 파일입니다. `App` 컴포넌트는 애플리케이션의 주요 구조와 로직을 포함하며, 다른 컴포넌트들을 포함하거나 조합하는 역할을 합니다. | ||
라고 하더라고요. | ||
또, 일반적인 리액트 폴더 구성이 아래처럼 app.js가 index.js랑 같은 위치에 있다고 해서 이렇게 만들어봤어요! | ||
``` | ||
src/ | ||
├── components/ | ||
├── App.js | ||
├── index.js | ||
└── ... | ||
``` | ||
*/ |
There was a problem hiding this comment.
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); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
console.log 파일이 들어갔네요ㅎㅎ!
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(); | ||
}, []); |
There was a problem hiding this comment.
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" /> |
There was a problem hiding this comment.
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 }) { |
There was a problem hiding this comment.
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
기본 요구사항
체크리스트 [기본]
베스트 상품 ( Desktop : 4개 보이기 / Tablet : 2개 보이기 / Mobile : 1개 보이기 )
전체 상품 ( Desktop : 12개 보이기 / Tablet : 6개 보이기 / Mobile : 4개 보이기 )
체크리스트 [심화]
진행한 부분까지 업로드하겠습니다!
fetch로 상품을 불러올 때부터 진행의 어려움이 시작되었습니다 😵
베스트 상품과 전체 상품은 어떻게 다르게 불러오는 건지 모르겠습니다.