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

home2 게시판 React 게시판 파트 2. 컴포넌트 인 컴포넌트 관련

파트 2. 컴포넌트 인 컴포넌트 관련

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 글쓴이
  • #13935

    이은혜
    참가자

    안녕하세요, 열심히 강의를 들으면서 공부하고 있습니다.

    (파트2. 마지막 강의 내용)

    해당 디테일 페이지 id번호에 맞게 재고량을 보여주고 주문하기 버튼을 누르면 해당 재고량에서 1개씩 차감 적용을 했습니다.

    function Detail(props) {

    function copy() {
        let index = id - 1;
        let copynew = [...props.재고];
        copynew[index] = --copynew[index];
        return props.재고변경(copynew);
      }

    return (

       <Info 재고 = { props.재고 } id = {id} />

        <button className="btn btn-danger" onClick={ ()=>{ props.재고변경( copy ) } }>주문하기</button>

    )

    }

     

    function Info(props) {
      return (
        <p>재고 : {props.재고[props.id - 1]} </p>
      )
    }

     

    이렇게 적용해도 되는 게 맞는 걸까요 ???

     

    그리고 2번쨰 질문이 있습니다.

    주문하기 onClick 이벤트에서 props.재고변경( copy ) 이렇게 copy 로 적으면 제대로 실행이 되는데

    copy()로 적용하게 되면 에러가 발생합니다.

    그 이유는 왜 그런 걸까요 ??

    클릭하면 이벤트가 실행되기 때문에 copy 또는 copy() 같은 거 아닌 가요 ???

     

    #13944

    codingapple
    키 마스터

    copynew[index] = --copynew[index]; 이거는

    copynew[index]--; 이렇게만 쓰면 될듯요 

     

    props.재고변경( copy ) 이거는 재고변경 함수에 copy 함수를 콜백함수로 집어넣으라는 뜻이라 좀 이상한 코드인듯요 

    onClick={ copy } 이렇게 하거나 onClick={ ()=>{copy()} } 이렇게 해야합니다

    이 경우 copy 함수안에 return키워드는 필요없습니다

    #14007

    이은혜
    참가자

    코드리뷰 감사합니다:) 이해 했습니다!!

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 호 / 개인정보관리자 : 박종흠