먼저 폴더구조는 아래와 같이 생성했고 컴포넌트 폴더를 어떤식으로 분류해서 나누는지 감이 오지않아서
시안에 따라 구분선 기준으로 나누고 진행하다가 재사용할 수 있는 Line, MiddleLine 폴더를 생성했다.
// App.jsx //
export default function App() {
return (
<section>
<Product />
<Delivery />
<Counter />
<Total />
<PurchaseBtn />
</section>
);
}
// Counter.jsx //
export function Counter() {
const [value, setValue] = useState(1);
const minus = () => {
if (value >= 1) setValue(value - 1);
};
const plus = () => {
setValue(value + 1);
};
return (
<>
<div className="counter">
<button onClick={minus}>-</button>
<span className="value">{value}</span>
<button onClick={plus}>+</button>
</div>
<MiddleLine />
</>
);
}
아래는 결과물인데 기능구현은 button 클릭하면 카운트가 되는 부분만 적용이 되었다.
아쉬웠던 부분인데 + 또는 - 를 하면 (총 수량 * 가격) 부분을 구현하다가 막혔던 점과
총 상품 금액 ?를 클릭하게 되면 툴팁이 뜨는 부분을 시간상으로 못한 점이 아쉬운 점이다.
?(물음표) button 클릭 후 tooltip 표시 ✅
웹 접근성에 대해서는 공부하고 보완할 예정 🔎