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

home2 게시판 React 게시판 Redux5 응용 질문입니다

Redux5 응용 질문입니다

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

    김홍민
    참가자
    해당 상품의 제거 버튼을 클릭시 prams 데이터인 
    data.id 와 state를 filter 메서드로부터 하나씩 나오는 data의 id와 다른 data만 
    newarray 에 담아서 현재 state에 담아줬는데 제거 버튼이 잘 작동이 안되는데 
    어떻게 하면 해결 할 수 있을까요??
    혹시 기본적인 코드가 잘못된건가 해서 state.pop()을 실행 했을때는 
    마지막 요소가 하나씩 제거가 되는게 보였습니다.
    
    // Cart.js
    <button onClick={()=> {
                          dispatch((deleteData(data.id)))
                        }}>제거</button>
    
    
    // store.js
    
    let cartData = createSlice({
      name: 'cartData',
      initialState: [
        {id : 0, name : 'White and Black', count : 2},
        {id : 2, name : 'Grey Yordan', count : 1}
        ],
      reducers: {
       deleteData(state,action) {
          console.log(action.payload);
          let newarray = state.filter((data)=> {
            return data.id !== action.payload
          })
          state = newarray
        }
      }
    })
    export let {changeCartData,addCartData,deleteData} = cartData.actions
    #59332

    codingapple
    키 마스터
    state = newarray말고 return newarray 해봅시다
    #59348

    김홍민
    참가자
    헉... 됩니다 ㅠ
    그런데 혹시 왜 return으로 해줬을때 의도대로 작동하는건지 알 수 있을까요??
    원래 알려주셨던것처럼 state를 update 할 때는 
    그냥 state.name = 'park' 처럼 변경하고 그랬는데 말이죠
    #59355

    김홍민
    참가자
    헉... 됩니다 ㅠ
    그런데 혹시 왜 return으로 해줬을때 의도대로 작동하는건지 알 수 있을까요??
    원래 알려주셨던것처럼 state를 update 할 때는 
    그냥 state.name = 'park' 처럼 변경하고 그랬는데 말이죠
    #59382

    codingapple
    키 마스터
    원래 return 어쩌구로 써야합니다 
    state.어쩌구 = 어쩌구, state[0] = 어쩌구 할 때만 예외입니다
5 글 보임 - 1 에서 5 까지 (총 5 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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