백엔드에서 보내주는 응답값에서 사이즈와 수량이 함께 들어가 있는 배열을 새로운 배열로 꺼내온 뒤에 map을 통해서 값을 가져옴
프론트:
// 새로운 배열로 만들어 수량과 사이즈만 빼옴
const newArray = productInfo.options.map(option => {
return { quantity: option.quantity, size: option.size };
});
// 아래처럼 새로운 배열을 map으로 돌려서 순서대로 매칭시킨 사이즈별 수량을 확인할 수 있습니다.
// 해당 수량의 값이 0 이면 품절로 출력되도록 아래와 같이 작성되어 있습니다!
<div className="tableWrap">
{newArray.map(size => {
let color;
if (size.size === selectedSize) {
color = 'yellowToBlack';
} else {
color = 'whiteToBlack';
}
let displayText;
if (size.quantity === 0) {// 수량이 0 이면 품절
displayText = `${size.size} (품절)`;
} else {
displayText = size.size;
}
return (
<Button
key={size.size}
type="button"
className="btn"
fontscale="small"
scale="small"
color={color}
disabled={size.quantity === 0} // 버튼 선택 불가
handleClick={() => {
setSelectedSize(size.size);
}}
>
{displayText}
</Button>
);
})}
</div>
'Wecode - Project 2 (부트캠프) > Project 2 과정' 카테고리의 다른 글
2차 프로젝트 통신, 화면 구현, 영상 (0) | 2023.11.08 |
---|---|
git clone vs pull 차이 (0) | 2023.10.06 |
Project 2- 주문 결제 장바구니 소셜로그인 구현 ** (0) | 2023.10.04 |
Project2- 2주차 3일차 : standing meeting (0) | 2023.10.04 |
project 2 - 회원가입, 로그인 통신 성공 /conflict 해결 (0) | 2023.10.03 |