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

home2 게시판 React 게시판 리덕스 장바구니 질문

리덕스 장바구니 질문

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

    쟈니
    참가자
    안녕하세요 ~
    
    1. 리덕스 강의 중 action.payload는 형태가 오브젝트, 숫자 뭐든 될 수 있나요?
    (id와 같다고 쓰다가도 object 형태로 state에 push도 되는)
    
    
    2. 아래의 경우 어떻게 첫번째 줄에서 찾은 값이 바로 두번째 줄에 영향을 줄 수 있는건가요? 
    (변수를 따로 만들지 않았어도 함수 내에서 윗줄부터 차례대로 실행되기 때문인가요?)
     
    
    
    3. 위의 코드에 변수를 만들면 에러는 안나지만 값 변경이 안됩니다 (읭!) 왜 그런걸까요?
    let findNumber = state.find(i => {return i.id === action.payload})
    state[findNumber].count += 1
    4. order를 눌러 아이템을 추가할때, 같은 상품이 있으면 그 상품도 count +1이 되고, 또 새로 항목도 동시에 추가가 됩니다
    (작성한 코드)
    
    
    (처음 화면 / 디폴트값)
    
    
    (id === 0 주문하기 버튼 클릭 후)
    파김치가 + 1 되면서 맨 아래에 추가도 되었습니다. OR를 썼는데 왜 둘 다 되는지 모르겠네요,,
    
    
    
    감사합니다 :)

    <div id="mttContainer" class="bootstrapiso notranslate" dir="ltr" style="transform: translate(521px, 384px);" title="" data-original-title="추가도"> </div>

    #60944

    codingapple
    키 마스터
    1. 넴 
    2. 넴
    3. 4. find는 array안의 데이터를 뱉어줍니다 findIndex 씁시다 
    
    
    #61238

    쟈니
    참가자
    1. 방금 이렇게 수정해서 문제는 해결했는데 
    리덕스에서 increaseCount, decreaseCount 그리고 Detail 컴포넌트에서는 find를 써서 문제가 없었는데 왜 addItem만 오류가 계속 났던건가요?
    
    (수정한 코드)
    
    
    
    2. find를 썼을때 두개의 콘솔 결과는 제대로 나왔지만, 계속 id가 undefined라 length를 못읽는다는 결과가 나왔었습니다.
    콘솔에서는 읽었는데 왜 action.payload.id에서 id를 못읽었던 건가요?
    
    
    3. find와 findIndex 두 개 차이점이 헷갈려서 간단한 배열로 콘솔을 해봤는데, 
    지금 쓰는 데이터는 id가 0부터 시작해서 인덱스와 엘리먼트가 같아 findIndex를 써도 상관없지만, 다를 경우에는 주로 어떻게 하나요?
    
    
    #61240

    쟈니
    참가자
    +) 상품 디테일의 URL에서 상품 id를 추출해서 findItem을 만들었다면 element의 index가 아니라 해당 id를 찾는게 더 정확한데 왜 Order 버튼을 눌렀을때 카트의 결과는 findIndex를 써야하는지 잘 이해가 안됩니다

    <div id="mttContainer" class="bootstrapiso notranslate" style="transform: translate(46px, 314px);" title="" data-original-title=""> </div>

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