부트캠프/TIL
Day50. CMarket Redux 리덕스야 덤벼
하이고니
2023. 2. 26. 02:11
학습 목표
1. '상품리스트'에서 '장바구니에 담기' 버튼을 누르면 장바구니에 상품이 추가된다.
1-1. 기존에 있는 상품일 경우 수량이 1 증가한다.
1-2. 없던 상품일 경우 새로 추가한다.
2. 장바구니에서 삭제 버튼을 누르면 아이템이 사라져야 한다.
3. 장바구니에서 수량을 1씩 증가시키거나 감소시킬 수 있다.
1. 장바구니에 담기
2. 장바구니에서 삭제
3. 수량 변경
피드백
리듀서에서는 아예 새로운 객체가 리턴되어야 한다. 그렇지 않다면 리액트는 상태가 변경된 것을 알아채지 못한다. 과제를 하는 동안 '동작은 잘 되는데 왜 테스트 케이스 통과가 안 될까' 하는 고민을 오래 했는데, 바로 위에 언급한 문제 때문이었다. 리덕스를 사용할 때는 '아예 새로운 객체' 를 그냥 입에 달고서 작업해도 괜찮을 것 같다. 코드는 일일이 첨부해봤자 다시 읽지도 않을 것 같아서 올리지 않겠다.