ADD_ITEM, REMOVE_ITEM, UPDATE_QTY 같은 action이 불변 업데이트로 같은 결과를 돌려주는지 봅니다.
cart state rehearsal
장바구니 reducer/context/fetch
장바구니 수량 변경, 삭제, 합계 계산, 네트워크 실패를 한 reducer에 몰아넣지 않고 책임별로 확인합니다.
상품 목록과 장바구니 조작 함수를 필요한 컴포넌트에만 공급하고 provider 범위를 과하게 넓히지 않습니다.
로딩, 에러, 성공 데이터를 분리해 네트워크 지연과 실패에도 화면이 무너지지 않게 합니다.
같은 상품을 다시 담으면 수량이 증가합니다.
0 이하 수량은 삭제 또는 제한 규칙으로 처리합니다.
합계는 cart 상태에서 파생해 중복 저장하지 않습니다.
API 실패 시 에러 UI와 재시도 경로를 확인합니다.