Skip to content

Conversation

@Moon-ju-young
Copy link
Collaborator

요구사항

기본

  • 상품 등록 페이지 주소는 “/additem” 입니다.
  • 페이지 주소가 “/additem” 일때 상단네비게이션바의 '중고마켓' 버튼의 색상은 “3692FF”입니다.
  • 상품 이미지는 최대 한개 업로드가 가능합니다.
  • 각 input의 placeholder 값을 정확히 입력해주세요.
  • 이미지를 제외하고 input 에 모든 값을 입력하면 ‘등록' 버튼이 활성화 됩니다.

심화

  • 이미지 안의 X 버튼을 누르면 이미지가 삭제됩니다.
  • 추가된 태그 안의 X 버튼을 누르면 해당 태그는 삭제됩니다.

주요 변경사항

  • Nav (네비게이션 바) component와 Button component를 분리하였습니다.
  • Input component를 개편했습니다.
  • react-helmet-async 라이브러리를 추가했습니다. (react도 18 버전으로 다운그레이드)

스크린샷

image
image
image

멘토에게

  • 추가적인 질문이 있다면 셀프 코드 리뷰를 통해 남기겠습니다.

닫히는 방식을 blur에서 click 이벤트로 변경, option 순회 및 input type="button" 추가
@Moon-ju-young Moon-ju-young added the 매운맛🔥 뒤는 없습니다. 그냥 필터 없이 말해주세요. 책임은 제가 집니다. label May 12, 2025
@Moon-ju-young Moon-ju-young changed the title [Sprint6] 문주영 [문주영] Sprint6 May 12, 2025
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.

주영님 6번째 미션 작업 고생하셨습니다~
제가 코드를 만져보니 몇가지 아쉬운 점들이 있어요. 코멘트 드린 부분 외에도 첨언하자면 등록 버튼 활성화 로직이 요구사항과 다르게 구현되어 있습니다. 태그 인풋에 값이 있을때가 아니라 생성된 태그가 있을시를 확인하셔야 합니다.
추후 시간이 되실때 태그 추가를 구현하시면서 해당 부분도 다시 보시면 좋겠습니다.
다음 미션도 화이팅입니다~

<img src={icX} />
</button>
</section>}
<input id="file" name="file" type="file" accept="image/*" onChange={handleChange} disabled={itemImage} />
Copy link
Collaborator

Choose a reason for hiding this comment

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

💊 제안
input의 accept 속성은 유저가 어떤 파일을 올려야하는지에 대한 힌트를 제공하는 속성입니다.
유저는 파일 업로드시 accept의 명시된 확장자 이외의 파일도 올릴 수 있으므로
실제 upload 함수에서 한번더 확장자를 검사해주시는 것이 좋습니다.

(사용자가 업로드창에서 옵션을 열어 확장자를 바꾸면 아래처럼 보입니다)
스크린샷 2025-05-08 오후 5 53 17

https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/accept

<button className="eye-btn" type="button" onClick={onClick}>
<img src={isVisible ? icEyeVisible : icEyeInvisible} />
</button>
function Input ({ label, name, className, inputClassName, type, children, ...props }) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

💊 제안
input 과 textarea 두개의 컴포넌트로 나누시는 게 더 명확하고 좋을 것 같아요.
지금과 같은 구조에서는 textarea의 경우 필요없는 prop을 받아야하고 이로인해 명확성도 떨어지는 것 같아요.
특히 type의 경우 input에서는 input 태그의 type 속성이고 Input 컴포넌트에서는 textarea 이거나 input 태그의 type 속성 이라 더 모호한 것 같아요~

@GANGYIKIM GANGYIKIM merged commit 905e1bc into codeit-bootcamp-frontend:React-문주영 May 16, 2025
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