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

home2 게시판 React 게시판 센세.. cart 삭제 질문있습니다.

센세.. cart 삭제 질문있습니다.

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

    정중식
    참가자
      initialState: {
        products: [
          { id: 0, name: 'White and Black', count: 2 },
          { id: 2, name: 'Grey Yordan', count: 1 },
        ],
      },
    
     removeItem(state, action) {
    
          return state.products.filter((i) => i.id !== action.payload);
        },
    
    리덕스는 이렇게되어있고,
    
    Cart.js
    
    {products &&
              products.map((item, index) => (
                <tbody key={index}>
                  <tr>
                    <td>{number++}</td>
                    <td>{item.name}</td>
                    <td>{item.count}</td>
                    <td>
                      <button
                        onClick={() => {
                          dispatch(addCount(item.id));
                        }}
                      >
                        +
                      </button>
                    </td>
                    <td>
                      <button onClick={() => dispatch(removeItem(item.id))}>
                        삭제하기
                      </button>
                    </td>
                  </tr>
                </tbody>
              ))}
    
    이런식으로 코드되어있습니다.
    
    근데 삭제버튼을 누르면 다 삭제되요.. 
    아래처럼 콘솔찍으면 숫자는 잘 출력되고있는데..
    혹시 뭐때문일까요?
     removeItem(state, action) {
    console.log(action.payload);
          state.products.map((i) => console.log(current(i)));
          return state.products.filter((i) => i.id !== action.payload);
        },
    
    원래 구조는 
    initialState:[
     { id: 0, name: 'White and Black', count: 2 },
          { id: 2, name: 'Grey Yordan', count: 1 },
    ]
    
    이런식이였습니다. 이런식일때는 잘 동작하던게 ...
    #68883

    정중식
    참가자
        removeItem(state, action) {
          
          state.products = state.products.filter((i) => i.id !== action.payload);
        },
     
    이렇게해야 동작하는거군요!
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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