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

home2 게시판 React 게시판 장바구니 수량 추가

장바구니 수량 추가

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

    망고미
    참가자
    장바구니에 해당 상품이 있다면? count +1을 해주고
    해당 상품이 없다면 상품을 장바구니에 추가하는 기능을 구현하고싶은데..
    
    <<<<store.js>>
    
    import { createSlice, configureStore } from "@reduxjs/toolkit";
    import user from "./store/userSlice.js";
    // state 변경함수들 남음
    // {} 안에는 변경 함수명 넣기
    let stock = createSlice({ name: "stock", initialState: [10, 11, 12] });
    let cartproduct = createSlice({
      name: "cartproduct",
      initialState: [
        { id: 0, name: "White and Black", count: 2 },
        { id: 2, name: "Grey Yordan", count: 1 },
      ],
      reducers: {
        addCount(state, action) {
          // array자료에서 내가 원하는 항목만 찾고싶다? state.findIndex
          // findIndex는 array 뒤에만 붙일 수 있다.
          let number = state.findIndex((a) => a.id === action.payload);
          state[number].count++;
        },
        addItem(state, action) {
          let number = state.findIndex((a) => a.id === action.payload);
          console.log(number);
          if (장바구니에 동일한 id가 있다면?) {
            state[number].count++;
          } else {
            state.push(action.payload);
          }
        },
        deleteItem(state, action) {
          let item = state.filter((a) => a.id !== action.payload);
          return item;
        },
      },
    });
    export let { addCount, addItem, deleteItem } = cartproduct.actions;
    export default configureStore({
      reducer: {
        user: user.reducer,
        stock: stock.reducer,
        cartproduct: cartproduct.reducer,
      },
    });
    해당 부분을 구현을 못하겠습니다.. 도와주세요,,, 혹시 추가로 생각해야할 부분이 있나요?
    
    
    		
    	
    #58733

    망고미
    참가자
    추가로 
    let number = state.findIndex((a) => a.id === action.payload); 
    console.log(number) 하면 왜 -1이 나오는지 궁금합니다
    #58774

    codingapple
    키 마스터
    장바구니에 동일한 id가 있다면? 은
    if (number >= 0){ } 하면 될듯요 
    findIndex로 찾은게 없으면 -1 뱉어줍니다
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 호 / 개인정보관리자 : 박종흠