• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 상품추가를 누르면 cart부분에서 재고가나오잖아요

상품추가를 누르면 cart부분에서 재고가나오잖아요

  • 이 주제에는 2개 답변, 2명 참여가 있으며 황정후4 년 전에 전에 마지막으로 업데이트했습니다.
3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 글쓴이
  • #13181

    황정후
    참가자

    그걸 뒤로가기누른다음 한번더 상품추가를 누르게되면 해당상품의 재고가 +1이되게끔 하고있습니다 

    선생님께서 숙재로내주신  [4. 같은 상품을 계속 주문하면 항목추가 X 수량증가 O] 를 하고있는데요 

     

    지금 상황을 말씀드리면 아이디값을찾아서 ++시켜 1을 2로 2를3으로 증가시키는것까지는 됐는데 문제는 이미 수량1이라고 표기되어있는 추가된상품의 값이 변경이되지않는사태가 일어났습니다

    즉 값은 변하지만 변한값을 업데이트해줘서 덮어씌워야할것같은데 이부분을 어떻게해야할지 고민이됩니다 

     

    function reducer(state = storeValue , action){
      if (action.type === 'addCart'){
        let copyStoreValue = [...state];

        if(copyStoreValue.some(copyStoreValue=>copyStoreValue.id === action.payload.id)){
          console.log('상품의 아이디값은 ',action.payload.id , '추가된 상품의 id가 중복됩니다');
          console.log('처음설정된 상품갯수',action.payload.quan);
          action.payload.quan++;
          console.log('숫자가더해진 상품갯수',action.payload.quan);
          // 여기서 장바구니에 추가된 상품의 갯수가 늘어난것을 확인
          //다만 업데이트가 안됨 다시 copyStoreValue를 변경해주는작업 필요

          // console.log(copyStoreValue.some(copyStoreValue=>copyStoreValue.id),'테스트중');
          return copyStoreValue;
        } else {
          console.log('isset 안됨');
          copyStoreValue.push(action.payload);      console.log(action.payload.quan,'이거');
          return copyStoreValue;      
        }

        // copyStoreValue.push(action.payload);
        // console.log(copyStoreValue.id,'이거');
        // return copyStoreValue;
      }
      if (action.type === 'addValue'){
        let copyStoreValue = [...state];
        copyStoreValue[0].quan++;
        return copyStoreValue
      } else if (action.type === 'downValue'){
        let copyStoreValue = [...state];
        copyStoreValue[0].quan--;
        return copyStoreValue
      } else{
        return state;
      }

     

    요게 그 해당코드인데 업데이트를 어떻게하면 좋을지가 고민입니다 

     

     

    #13191

    codingapple
    키 마스터

    이미 수량1이라고 표기되어있는 추가된상품이 변경안된다는 것은

    사용자가 추가한게 아니라 이미 기본으로 추가된 상품을 말씀하시는 것입니까 

    근데 아마 지금 짜놓은 코드가 

    대충 0번 상품의 +1버튼 누르면 0번째 저장된 상품을 +1 해달라고 써놨기 때문에 버그가 일어날걸요 

    대충 0번 상품의 +1버튼 누르면 id가 0인 상품을 +1 해달라고 코드를 짜봅시다 

    #13244

    황정후
    참가자

    앗 넵 감사합니다 한번해보겠습니다 

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠