[정혜연] sprint9#315
Hidden character warning
[정혜연] sprint9#315withyj-codeit merged 13 commits intocodeit-bootcamp-frontend:Next-정혜연from yeon0036:Next-정혜연-Sprint9
Conversation
[Fix] delete merged branch github action
There was a problem hiding this comment.
스프린트 미션 하느라 수고 많으셨어요~👏🏻
템플릿코드 없이 아예 빈 파일에서 시작해서 해당 페이지 외에는 루트페이지와 상품페이지밖에 작동하지 않습니다.
좋아요~ 혜연님 속도에 맞춰서 하나씩 추가해주세요.
BestArticle이 문제인데, 쿼리스트링 디폴트값인 최신순 10개의 데이터에서만 정렬을 해서 slice가 됩니다. 쿼리에 임의로 100등의 수를 넣으면 이미지 로딩 문제가 생겨 이 방식도 불가능합니다.. 아직 해결을 못했는데, 아무리 봐도 해결이 안돼서 조언 부탁드립니다ㅠㅠ components > board > BestArticleSection파일에 해당 내용 있습니다.
articles GET 요청할 때, ?orderBy=like&pageSize=3&page=1 이런 방식으로 쿼리 파라미터 설정해서 보내면 될것 같은데 혹시 문제가 있었나요?
아직 타입스크립트가 익숙치 않아 우선 js로 작성하였습니다. BestArticle까지 완료되면 이후에 typescript로 리팩토링 하겠습니다 !
넵~! 타입스크립트로 변환은 꼭 해보셔요~
| "**/*.tsx", | ||
| "pages/boards/[id].jx", | ||
| "pages/boards/index.tsx" | ||
| , "pages/_app.jsx" ], |
There was a problem hiding this comment.
*/.ts, */.tsx 가 하위 내용들을 포함할텐데 pages/OOO 추가한 이유가 있나요?
| @@ -0,0 +1,88 @@ | |||
| import React, { useState } from "react"; | |||
| import styled from "styled-components"; | |||
There was a problem hiding this comment.
styled-components 와 module.css 혼용해서 사용중인 걸로 보이는데,
학습 목적이 아니라면 둘 중 하나를 사용하는 방향이 좋아 보여요.
There was a problem hiding this comment.
보통 두개를 혼합해서 계속 사용했었는데, 하나로만 사용하는게 맞는건가요? 어떤 방식을 더 추천하는지 알려주시면 감사하겠습니다 !
There was a problem hiding this comment.
프로젝트를 진행하거나 업무적으로 진행할 때는 하나의 서비스에서는 스타일링을 하나로 통일하는 편이 좋아요.
그래야 스타일링 코드에 대한 예측가능성이 높아지고, 코드를 읽거나 수정하는 방식에 대해서도 두 가지로 나눠서 생각하지 않아도 되기 때문에 그래요.
There was a problem hiding this comment.
styled-components 와 css modules 는 둘 중 어떤 걸 사용하셔도 무방하다고 생각해요.
다만, 각자의 방식이 가지고 있는 장점과 한계에 대한 이해는 가지고 사용하는게 필요해요.
| const [isOpen, setIsOpen] = useState(false); | ||
| const [selected, setSelected] = useState("최신순"); | ||
|
|
||
| const toggleDropdown = () => setIsOpen(!isOpen); |
There was a problem hiding this comment.
setIsOpen((prev) => !prev) 가 이전 상태를 가져온다는 걸 보장할 수 있어 조금 더 안전한 코드에요.
There was a problem hiding this comment.
아 이해했습니다. 참고하여 수정하겠습니다 !
| const nextBestArticles = res.data.list; | ||
|
|
||
| // likeCount 기준으로 정렬 후 상위 3개 추출 | ||
| const sortedArticles = nextBestArticles |
There was a problem hiding this comment.
articles 관련 정렬을 api에 쿼리 파라미터로 orderBy 설정을 제공하기 때문에 이걸 활용해서 like 기준으로 정렬하는 방향이 좋아요. (참고)
There was a problem hiding this comment.
아, orderby를 활용하는 방법으로 가는게 더 낫겠네요..! 말씀해주신 방법으로 수정해보겠습니다
| </Link> | ||
| {articles.image ? ( | ||
| <Image | ||
| src={articles.image} |
There was a problem hiding this comment.
src에서 삼항연산자를 사용하지 않고 이미지 컴포넌트를 별도로 렌더링하는 이유가 있나요?
|
아 그래요? 이건 api 이슈일 수도 있는데, 시간될 때 같이 한번 살펴봐요. |
요구사항
기본
심화
주요 변경사항
스크린샷
멘토에게