
SingleProductPage.jsx ์์ ์๋์ ๊ธฐ๋ณธ๊ฐ 1๋ก ์ค๋ค.
const [quantity, setQuantity] = useState(1);
๊ทธ๋ฆฌ๊ณ ๊ตฌ๋งค ๊ฐ์์ props๋ก ์๋๊ณผ ์๋์ ์ ์ฅํ setํจ์ ๊ทธ๋ฆฌ๊ณ ์ฌ๊ณ ๋ฅผ ๋ด๋ ค์ค๋ค.
<h2 className="quantity_title">๊ตฌ๋งค๊ฐ์:</h2>
<div className="align_center quantity_input">
<QuantityInput
quantity={quantity}
setQuantity={setQuantity}
stock={product.stock}
/>
</div>
QuantityInput.jsx
์์
import "./QuantityInput.css";
const QuantityInput = ({ quantity, setQuantity, stock }) => {
return (
<>
<button
// - ํด๋ฆญํ๋ฉด ๊ธฐ์กด์ ์๋์์ ํ๋ ์ค์ด๋ ๋ค.
onClick={() => setQuantity((prev) => quantity - 1)}
className="quantity_input_button"
disabled={quantity <= 1} // ์๋์ด 1์ด๋๋ฉด ํด๋ฆญํ์ง ๋ชปํ๊ฒํ๋ค.
>
-
</button>
<p className="quantity_input_count">{quantity}</p>
<button
// + ํด๋ฆญํ๋ฉด ๊ธฐ์กด์ ์๋์์ ํ๋ ์ฆ๊ฐํ๋ค.
onClick={() => setQuantity((prev) => quantity + 1)}
className="quantity_input_button"
// ์๋๊ณผ ์ฌ๊ณ ์ ๊ฐ์๊ฐ ๊ฐ์์ง๋ฉด ํด๋ฆญํ์ง ๋ชปํ๋ค.
disabled={quantity === stock}
>
+
</button>
</>
);
};
export default QuantityInput;



'FRONTEND > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [myCart] signup์๋ฌ ์ถ๋ ฅ (0) | 2023.12.21 |
|---|---|
| [myCart] Postman์ผ๋ก signup ํ ์คํธ ๋ฐ signup ํจ์๋ก ๊ฐ์ (0) | 2023.12.20 |
| [myCart] ๋ก๋ฉ ์ค ํ๋ฉด ํ์ํ Loader ์ปดํฌ๋ํธ ์์ฑ (1) | 2023.12.20 |
| [myCart] ์ํ ์์ธ ํ์ด์ง (1) | 2023.12.20 |
| [myCart] ํ์ด์ง๋ค์ด์ (0) | 2023.12.20 |