Skip to content

Conversation

@najitwo
Copy link
Collaborator

@najitwo najitwo commented Nov 2, 2024

요구사항

기본

상품 등록 페이지

  • 상품 등록 페이지 주소는 "/addboard" 입니다.
  • 게시판 이미지는 최대 한개 업로드가 가능합니다.
  • 각 input의 placeholder 값을 정확히 입력해주세요.
  • 이미지를 제외하고 input 에 모든 값을 입력하면 '등록' 버튼이 활성화 됩니다.

상품 상세 페이지

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

심화

  • 회원가입, 로그인 api를 사용하여 받은accessToken을 사용하여 게시물 등록을 합니다.
  • '등록' 버튼을 누르면 게시물 상세 페이지로 이동합니다.

스크린샷

배포 페이지: https://najimarket.vercel.app/boards

상품 등록 페이지

najimarket vercel app_addboard

상품 상세 페이지

najimarket vercel app_addboard (1)

멘토에게

  • 로그인 페이지는 추가를 못해서 로그인 로직이 하드 코딩 되어있습니다.

@najitwo najitwo requested a review from GANGYIKIM November 2, 2024 13:50
@najitwo najitwo added the 매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. label Nov 2, 2024
Copy link
Collaborator

@GANGYIKIM GANGYIKIM left a comment

Choose a reason for hiding this comment

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

지원님 이번 스프린트 미션 고생하셨습니다.

}

const AuthorInfo = ({ className, nickname, image, date }: Props) => {
const AuthorInfo = ({ nickname, date, className, image }: Props) => {
Copy link
Collaborator

Choose a reason for hiding this comment

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

P3:

Suggested change
const AuthorInfo = ({ nickname, date, className, image }: Props) => {
const AuthorInfo = ({ nickname, date, className ='' , image }: Props) => {

Comment on lines +25 to +26
const allowedTypes = ["image/png", "image/jpeg"];
if (!allowedTypes.includes(nextValue.type)) return;
Copy link
Collaborator

Choose a reason for hiding this comment

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

P3:
👍

Copy link
Collaborator

Choose a reason for hiding this comment

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

사용자 피드백까지 주면 더 좋을 것 같아요~

Comment on lines +10 to +16
const HeartButton = ({ favoriteCount, className }: HeartButtonProps) => {
return (
<button
type="button"
aria-label="좋아요 버튼"
className={`${styles.heartButton} ${className}`}
>
Copy link
Collaborator

Choose a reason for hiding this comment

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

P3:
아직 필요하지 않으셔서 추가하지 않은 것 같지만 버튼이니 나중에 onClick 함수를 넘길 수 있게 추가해주세요~

}, [refreshAccessToken]);

return (
<AuthContext.Provider value={{ accessToken, login, logout }}>
Copy link
Collaborator

Choose a reason for hiding this comment

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

P2:
멘토링때 말씀드린것처럼 context 사용시 전달되는 value는 자식들의 잦은 리렌더링을 막기위해 useMemo를 감싸 전달합니다.
관련해서 읽으실만한 글 링크드립니다~

https://velog.io/@velopert/react-context-tutorial

@GANGYIKIM GANGYIKIM merged commit f8b22be into codeit-bootcamp-frontend:Next-나지원 Nov 5, 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