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

[남기연] sprint7 #273

Conversation

Namgyeon
Copy link
Collaborator

@Namgyeon Namgyeon commented Dec 28, 2024

요구사항

기본

  • 상품 상세 페이지 주소는 "/items/{productId}" 입니다.

  • response 로 받은 아래의 데이터로 화면을 구현합니다.
    => favoriteCount : 하트 개수
    => images : 상품 이미지
    => tags : 상품태그
    => name : 상품 이름
    => description : 상품 설명

  • 목록으로 돌아가기 버튼을 클릭하면 중고마켓 페이지 주소인 "/items" 으로 이동합니다

  • 문의하기에 내용을 입력하면 등록 버튼의 색상은 "3692FF"로 변합니다.

  • response 로 받은 아래의 데이터로 화면을 구현합니다
    => image : 작성자 이미지
    => nickname : 작성자 닉네임
    => content : 작성자가 남긴 문구
    => description : 상품 설명
    => updatedAt : 문의글 마지막 업데이트 시간

심화

  • 모든 버튼에 자유롭게 Hover효과를 적용하세요.

주요 변경사항

  • css 파일을 module.css 파일로 변경했습니다.
  • px단위를 rem단위로 변경했습니다.
  • 공용 컴포넌트를 구현해서 재사용이 가능하게 했습니다.

멘토에게

  • InputSection.module.css파일의 .btn에서 box-sizing 속성을 줘야 적용이 됩니다. reset.css에 이미 box-sizing을 주었는데 왜 적용이 안되는건가요?? 덮여 씌여지는거라고 의심하고 있는데 정확히 모르겠습니다

@Namgyeon Namgyeon added the 순한맛🐑 마음이 많이 여립니다.. label Dec 28, 2024
Copy link
Contributor

@withyj-codeit withyj-codeit left a comment

Choose a reason for hiding this comment

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

기초 프로젝트 마치고 이어서 스프린트 미션 하시느라 수고 많으셨어요~

import { useEffect } from "react";
import { useState } from "react";
import { getProductList } from "../../../api/ItemApi";
import "../MarketPage";
import ItemCard from "./ItemCard";
import ItemCard from "../../../components/ItemCard/ItemCard.jsx";
Copy link
Contributor

Choose a reason for hiding this comment

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

baseUrl 설정해서 절대경로 사용하는 것도 고려해보세요. (참고)

}

.btn {
box-sizing: border-box;
Copy link
Contributor

Choose a reason for hiding this comment

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

개발자 도구에서 봤을 때,
위 설정이 없으면, global css로 적용한 스타일이 적용되지 않아서 기본 값인 content-box로 설정되는 걸로 보이는데,
왜 여기서는 적용 되지 않는지 뭔가 트리키한 이유가 있을 거 같은데, 바로 어떤게 원인이다 말씀드리기가 어렵네요.
추후 정확히 알게되면 말씀드릴게요.
반대로 기연님이 먼저 알게되면 저한테 알려주세요~

background-color: #ffffff;
}

.dropdownIcon:hover {
Copy link
Contributor

Choose a reason for hiding this comment

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

dropdown-icon, dropdownIcon 둘 서로 다른 용도로 사용하는 건가요?

@@ -0,0 +1,21 @@
import styles from "./Tag.module.css";

const Tag = ({ tags }) => {
Copy link
Contributor

Choose a reason for hiding this comment

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

컴포넌트 이름을 Tags라고 하거나
Tag컴포넌트에서 하나의 tag만 리턴하는게 좋을 것 같아요.

@@ -1,6 +1,6 @@
import "./onSortSelect.css";

function SortSelect({ onSortSelection }) {
function onSortSelect({ onSortSelection }) {
Copy link
Contributor

Choose a reason for hiding this comment

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

onOOOO 이름은 보통 프로퍼티로 넘겨주는 이벤트 핸들러에 사용해서 대문자로 시작하는 명사형 컴포넌트 이름이 좋을 것 같아요.

@@ -10,7 +10,7 @@ const AddItemPage = () => {
tag: "",
imgFile: null,
});
const [disabled, setDisabled] = useState(true);
const [canSubmit, setCanSubmit] = useState(true);
Copy link
Contributor

Choose a reason for hiding this comment

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

disabled -> canSubmit 으로 바뀌면 boolean 설정도 반대로 해줘야 할 거 같아요.

@@ -37,7 +37,7 @@ const AddItemPage = () => {
<form className="addItemContainer">
<div className="addItemHeader">
<h1 className="headerTitle">상품 등록하기</h1>
<button className={`addItemBtn ${disabled ? "" : "active"}`} onSubmit={handleSubmit} disabled={disabled}>
<button className={`addItemBtn ${canSubmit ? "" : "active"}`} onSubmit={handleSubmit} disabled={canSubmit}>
Copy link
Contributor

Choose a reason for hiding this comment

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

해당 부분도 boolean 설정 반대로 되는 것에 맞춰줘야 할 거 같아요.

</div>
</div>
</div>
<AllItemSectionHeader />
Copy link
Contributor

Choose a reason for hiding this comment

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

추상화 레벨 맞춰주는 것 좋아요~!

@withyj-codeit withyj-codeit merged commit 7466093 into codeit-bootcamp-frontend:React-남기연 Jan 2, 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