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

[김지윤] Sprint10 #650

Conversation

wayandway
Copy link
Collaborator

@wayandway wayandway commented Jun 7, 2024

배포 사이트

요구사항

  • Github에 PR(Pull Request)을 만들어서 미션을 제출합니다.
  • 피그마 디자인에 맞게 페이지를 만들어 주세요.
  • 기존의 React, Typescript로 구현한 프로젝트와 별도로 진행합니다.
    ��- Next.js를 사용합니다

기본

상품 등록 페이지

  • 상품 등록 페이지 주소는 “/addboard” 입니다.
  • 게시판 이미지는 최대 한개 업로드가 가능합니다.
  • 각 input의 placeholder 값을 정확히 입력해주세요.
  • 이미지를 제외하고 input 에 모든 값을 입력하면 ‘등록' 버튼이 활성화 됩니다.
  • 회원가입, 로그인 api를 사용하여 받은accessToken을 사용하여 게시물 등록을 합니다.
  • ‘등록’ 버튼을 누르면 게시물 상세 페이지로 이동합니다.

상품 상세 페이지

  • 상품 상세 페이지 주소는 “/addboard/{id}” 입니다.
  • 댓글 input 값을 입력하면 ‘등록' 버튼이 활성화 됩니다.
  • 활성화된 ‘등록' 버튼을 누르면 댓글이 등록됩니다

심화

주요 변경사항

  • 요구 사항의 addboard/ 대신 boards/:id, boards/create로 라우팅 했습니다.
  • 유저기능을 아직 구현하지 못해서, POST 기능들은 입력 폼들만 구현했습니다.

스크린샷

스크린샷 2024-06-07 오후 11 09 46
스크린샷 2024-06-07 오후 11 10 03

멘토에게

추가 질문은 코멘트로 남겨두겠습니다 ☺️

withyj-codeit and others added 22 commits September 3, 2023 21:57
…ithub-actions

[Fix] delete merged branch github action
- boards/ 경로에서 게시글을 클릭하면 해당 boards/id 로 이동하도록 함
- pages/boards/ 구조 수정
@wayandway wayandway added the 매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. label Jun 7, 2024
@wayandway wayandway self-assigned this Jun 7, 2024
@wayandway wayandway requested a review from lisarnjs June 7, 2024 14:11
@wayandway wayandway added the 미완성🫠 죄송합니다.. label Jun 7, 2024
Copy link
Collaborator

@lisarnjs lisarnjs left a comment

Choose a reason for hiding this comment

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

이번 코드도 너무 좋습니다!
제네릭 타입으로 만든 커스텀 훅도 잘해주셨고 👍

이제 코드를 잘 분리해보는 연습을 해보면 좋을 거 같네요
파일에 useState, useEffect와 같은 로직 관련 코드가 하나도 없게끔 만들어보세요!
연습할때 이런 챌린지가 도움이 많이 됩니다 ㅎㅎ

미션 진행하시느라 고생하셨어요! 이번주도 화이팅🔥

@@ -32,7 +33,7 @@
.dropDownItem {
padding: 6px 0;
&:hover {
color: var(--blue);
color: $blue;
Copy link
Collaborator

Choose a reason for hiding this comment

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

오! 점점 scss를 잘 활용하고 계시는데요 👍

const [debouncedSearchTerm, setDebouncedSearchTerm] = useState("");

// 디바운싱을 위한 useEffect
useEffect(() => {
Copy link
Collaborator

Choose a reason for hiding this comment

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

goood 💯 바로 디바운싱을 검색에 적용하셨다니! 아주 적절하게 디바운싱을 잘 사용하셨습니다 👍
이제 로직도 만들어봤으니 디바운싱 자제를 "커스텀 훅"으로 빼보면 다른 컴포넌트에서도 재사용할 수 있을 것 같은데
한번 연습해보시길 추천할게요!

<Spinner />
) : (
<button
className={styles.submitButton}
Copy link
Collaborator

Choose a reason for hiding this comment

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

이제 여기서 button이 disabled한 상태일때 css를 수정해주고 싶을 수 있어요
그럴때 현업에서는 classnames라는 라이브러리와 함께 사용합니다
사실 scss + classnames 는 거의 한 세트라고 봐도 무방해요 ㅎㅎ

const articleImage = article?.image || "";

if (isLoading) {
return <Spinner />;
Copy link
Collaborator

Choose a reason for hiding this comment

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

얼리 리턴 너무 좋습니다 👍

return (
<div className={styles.container}>
{comments?.list?.map((comment) => (
<>
Copy link
Collaborator

Choose a reason for hiding this comment

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

map()으로 돌리고 있기 때문에 key 값이 없으면 warning이 뜰거에요! 빈 태그 대신 Fragment를 사용해서 key 값도 부여해주시는 걸 추천할게요 👍

export default function CreateArticle() {
const url = `/articles`;

const [formValues, setFormValues] = useState<FormValues>({
Copy link
Collaborator

Choose a reason for hiding this comment

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

state를 객체 형태로 관리하는 방법은 저도 많이 애용하는 방법이에요! 자주 사용하다보면 state관리하기도 편해서 좋답니다!

@lisarnjs lisarnjs merged commit 241575b into codeit-bootcamp-frontend:Next.js-김지윤 Jun 11, 2024
@wayandway wayandway deleted the Next.js-김지윤-sprint10 branch June 11, 2024 04:14
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