교육후 개인공부/TroubleShooting

[TroubleShooting] cart의 수량이 마이너스로 간다....

뭉지야 2024. 5. 22. 17:40
728x90

배포후 친구가 cart의 수량이 마이너스로 간다는 오류를 발견해주었다.

코드를 어떤식으로 변경할까 생각을 했다.

일단 액션생성함수에서 코드를 바꿔야하는데 이걸 어떤식으로 변경할까...

기존코드는 이렇게 되어있었다.

import { createSlice } from "@reduxjs/toolkit";
import type { PayloadAction } from "@reduxjs/toolkit";

export interface Icart {
  id: number;
  product: string;
  price: number;
  count: number;
}

const initialState: Icart[] = [
  {
    id: 1,
    product: "홍해인자켓",
    price: 20000,
    count: 1,
  },
  {
    id: 6,
    product: "티모시자켓",
    price: 20000,
    count: 1,
  },
];

export const CartState = createSlice({
  name: "cart",
  initialState,
  reducers: {
    countDown: (state, action) => {
     state[action.payload].count--;
    },
  },
});
export const { countDown } = CartState.actions;

 

 state[action.payload].count-- 이걸 console찍으니까 감소하기 전 숫자가 출력되었다.

그래서 이렇게 코드를 변경하였다.

{
        state[action.payload].count-- >= 2
          ? state[action.payload].count
          : (alert("0이하는안돼요"));
      }

 

그랬더니 alert다음에 -1이 count값으로 출력이 되었다.

그래서 최종코드는 

{
        state[action.payload].count-- >= 2
          ? state[action.payload].count
          : (alert("0이하는안돼요"), state[action.payload].count++);
      }

 

이렇게 하여 완성!!

 

항상 세세하게 확인하고, 사용자의 입장에서 세세하게 살피자!

728x90