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

home2 게시판 React 게시판 주문하기 버튼 - 수량 감소

주문하기 버튼 - 수량 감소

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

    김은영
    참가자

      <button className="btn btn-danger" onClick={()=>{

           

      재고빼기결과 = props.재고[(찾은상품.id)];
                  console.log(재고빼기결과);

                  if (재고빼기결과>0) {
                    재고빼기결과변경(재고빼기결과--);
                   
                    console.log(재고빼기결과);
                   
                  }else{
                    
                    재고빼기결과변경(0);
                    console.log(재고빼기결과);
                  }
                  props.재고변경([재고빼기결과, 재고빼기결과,  재고빼기결과]);

                }}>주문하기</button> 

     

    주문하기 버튼을 이렇게 코드를 짰는데 

     

    각 detail/0, detail/1, detail/2,

    페이지에 맞게 수량이 주문하기 버튼을 누르면 재고가 잘 없어집니다. 그런데 제가 짠 코드가 맞는건지 궁금합니다. 

    예로들면 props.재고변경([재고빼기결과, 재고빼기결과,  재고빼기결과]); 이렇게 짠 코드가 실무에서 사용할 수 있을까요?

    #10024

    codingapple
    키 마스터

    재고빼기결과라는 것도 state입니까 그렇다면 

    = props.재고[(찾은상품.id)]; 이런 식으로 등호로 직접 수정하시면 안됩니다 변경함수를 사용합시다 

    아니면 그냥 state말고 var 변수로 만들어도 상관없어보일것 같긴 합니다

     

    근데 props.재고변경([재고빼기결과, 재고빼기결과,  재고빼기결과]); 이러면 3개 상품 전부 똑같은 재고를 가지게 되는거 아닌가요 

    3개 중에 하나만 수정하면 되는 것이 아닐까요 

     

    실제 서비스에서 쓸모가 있을지는 

    상품이 3개가 아니라 10개 20개가 있어도 주문하는 코드가 잘 동작하는지 확인하면 쓸 수 있겠군요 

     

    #10027

    김은영
    참가자

     var 재고빼기결과복사본 = 재고빼기결과;

                  재고빼기결과복사본 = props.재고[(찾은상품.id)];
                  console.log(재고빼기결과복사본);

                  if (재고빼기결과복사본>0) {
                    재고빼기결과변경(재고빼기결과복사본--);
                   
                    console.log(재고빼기결과변경);
                   
                  }else{
                    
                    재고빼기결과변경(0);
                    console.log(재고빼기결과복사본);
                  }
                  props.재고변경([재고빼기결과복사본, 재고빼기결과복사본,  재고빼기결과복사본]);

     

    말씀해주신것처럼 var 재고빼기결과복사본을 만들어서 수정했습니다!
    props.재고[(찾은상품.id)]; 을해서 deatil/0 일땐 props.재고[(0)]; deatil/1 일땐 props.재고[(1)]; deatil/2 일땐 props.재고[(2)]; 로 나오게끔 각 배열의 순서에 맞게 해서 페이지에 따라 재고수가 다르게 보여지고 거기서 -1을 빼지게 정상작동됩니다!

    #10034

    codingapple
    키 마스터

    array자료에서 뭔가 꺼낼 땐 array[(0)] 이럴 필요는 없고 array[0] 이렇게만 쓰셔도 됩니다

     

    근데 재고라는 state는 [10,11,12] 이렇게 생긴거 아닙니까

    그럼 예를 들어서 버튼눌러서 새로운 재고가(재고빼기결과가) 3이 되면 props.재고변경([3,3,3]) 이 코드가 실행될 것 같은데

    그러면 모든 상품이 재고가 3이 되는거 아닌가여 

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

About

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

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

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