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 10 #293

Conversation

wonsik3686
Copy link
Collaborator

@wonsik3686 wonsik3686 commented Aug 16, 2024

요구사항

상품 등록 페이지

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

상품 상세 페이지

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

멘토에게

  • 미완성 부분은 다음 제출까지 완성하도록 하겠습니다.
  • 셀프 코드 리뷰를 통해 질문 이어가겠습니다.

@wonsik3686 wonsik3686 added the 미완성🫠 죄송합니다.. label Aug 16, 2024
@wonsik3686 wonsik3686 added the 매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. label Aug 19, 2024
import { Article, ArticleDetailResponse } from '@type/ArticleTypes';
import { GetServerSideProps } from 'next';

export const getServerSideProps: GetServerSideProps = async (context) => {
Copy link
Collaborator

Choose a reason for hiding this comment

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

import type { GetServerSidePropsContext } from 'next';

...


export async function getServerSideProps(context: GetServerSidePropsContext) {

이렇게 타입을 지정해줄 수 있어요~

Copy link
Collaborator

Choose a reason for hiding this comment

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

규칙은 아니지만, 일반적으로 getServerSideProps 함수가 아래에 배치되고, BoardDetailPage 컴포넌트가 상위에 존재하도록 코드를 작성합니다. 아래처럼요!

type BoardDetailPageProps = {
  initArticle: ArticleDetailResponse;
};

const BoardDetailPage = ({ initArticle }: BoardDetailPageProps) => {
  return (
    <>
      <BasicLayout>
        <ArticleSection article={initArticle} />
        <ArticleCommentForm articleId={initArticle.id} />
      </BasicLayout>
    </>
  );
};


export const getServerSideProps: GetServerSideProps = async (context) => {

...

Comment on lines +1 to +5
import AllArticlesBoard from '@components/board/AllArticlesBoard/AllArticlesBoard';
import BestArticlesSection from '@components/board/BestArticlesSection/BestArticlesSection';
import BasicLayout from '@components/layout/BasicLayout/BasicLayout';
import { getArticles } from '@lib/api/articleApi';
import { Article } from '@type/ArticleTypes';
Copy link
Collaborator

Choose a reason for hiding this comment

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

리뷰 반영 굳! 👍

@arthurkimdev
Copy link
Collaborator

머지 먼지 진행하고, 리뷰는 이어서 진행하도록 하겠습니다!

@arthurkimdev arthurkimdev merged commit 1b05e3e into codeit-bootcamp-frontend:Next-정원식 Aug 21, 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.

2 participants