[함헌규] sprint11#139
Hidden character warning
Conversation
Next 함헌규 sprint8
…nto next-함헌규-sprint10
- 기존에 두개로 사용하던 모달을 하나로 통합
pers0n4
left a comment
There was a problem hiding this comment.
남겨주신 질문들은 멘토링 때 하셨던 질문이랑 맥락이 비슷한 것 같아서 우선 넘어가겠습니다.
시도해보시고 또 문제 있으면 알려주세요.
헌규님은 프론트엔드 잘 하시니까 할 게 없다고 생각되시면 알림, 메시지 등에서 쓰이는 스트링 관리 + 다국어 처리까지 엮어서 고민해보셔도 좋을 것 같습니다.
| export default async function Page({ | ||
| searchParams, | ||
| }: { | ||
| searchParams: GetArticleListParams; | ||
| }) { |
There was a problem hiding this comment.
객체는 인라인으로 타이핑하기보다는 interface나 type을 따로 정의해서 붙여주면 가독성이 더 좋아지지 않을까요?
| <ArticleHeader | ||
| ownerId={article.user.id} | ||
| id={article.id.toString()} | ||
| nickname={article.user.nickname} | ||
| title={article.title} | ||
| createdAt={article.createdAt} | ||
| likeCount={article.likeCount} | ||
| isLiked={article.isLiked} | ||
| /> |
There was a problem hiding this comment.
props를 전부 다 분해해두면 객체 구조에 얽매이진 않겠지만, 지금 ArticleHeader의 구조와 ArticleHeader가 사용되고 있는 예를 보면 이미 article 객체와 결합된 요소로 보이는데, 이 경우에는 article 객체 자체를 넘겨서 편의성을 챙겨보는 결정은 어떠신가요?
이렇게 객체와 결합된 경우는 리터럴 오브젝트 그대로 사용하는 대신 클래스로 정의해서 이점을 가져갈 수도 있습니다.
e.g. article.id.toString()의 경우 getter로 정의해서 일관성 가져가기
| <div className='flex justify-between items-center gap-[6px] text-lg text-text-black-secondary'> | ||
| <Image | ||
| src={image !== null ? image : defaultAvatar} | ||
| src={image ?? defaultAvatar} |
| <BestArticleCard | ||
| key={article.id} | ||
| nickname={article.user.nickname} | ||
| title={article.title} | ||
| likeCount={article.likeCount} | ||
| createdAt={article.createdAt} | ||
| articleId={article.id.toString()} | ||
| /> |
There was a problem hiding this comment.
아까 본 ArticleClient와 비슷한 느낌이네요. 🤔
|
|
||
| if (isLoading) return; | ||
| Array.from( | ||
| { length: MEDIA_QUERY.bestArticlePageSize[screenWidth!] }, |
There was a problem hiding this comment.
길어지는 변수는 함수로 분리하면 좋을 수도 있습니다. non-null assertion도 함수 내부 로직으로 뺄 수도 있곘네요.
e.g. getBestArticlePageSizeByScreenWidth(screenWidth)
요구사항
공통
any타입의 사용은 최소화해 주세요Union,Intersection,Generics등 고급 타입을 적극적으로 사용해 주세요프론트엔드
주요 변경사항
멘토에게
로그인 하지 않은 경우 로그인 페이지로 이동하는 미들웨어에 한가지 문제가 있습니다.
로컬환경에선 요청을 보낼 때 정상적으로 쿠키가 포함되는데 vercel 배포환경에선 쿠키가 포함되지 않는데 어떻게 해결할 수 있을까요?
배포환경에서 미들웨어가 정상적으로 작동하지 않는 것으로 확인되어서 일단 주석처리 해놨습니다. 확인해보니 httpOnly 때문에 직접 쿠키를 가져오는 게 불가능한 것으로 보이는데 넥스트 서버에서 쿠키를 사용할 수 있는 방법이 있을까요?