From c42741c016f6f226d6010d7119fa1180ea3d44bf Mon Sep 17 00:00:00 2001 From: MinseoLee <mmmm@ajou.ac.kr> Date: Sat, 9 Dec 2023 14:26:46 +0900 Subject: [PATCH] fix: cartItems clonedeep --- src/_app/modules/wrapper/Wrapper.tsx | 1 - src/contexts/cart/index.tsx | 5 +++-- src/pages/menu-page/modules/menu-box/MenuBox.tsx | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/_app/modules/wrapper/Wrapper.tsx b/src/_app/modules/wrapper/Wrapper.tsx index 6f29d55..85e732a 100644 --- a/src/_app/modules/wrapper/Wrapper.tsx +++ b/src/_app/modules/wrapper/Wrapper.tsx @@ -10,7 +10,6 @@ import S from './Wrapper.module.css'; import type { GFCWithProp } from "../../../common/types/fc"; import type { OrderedItemModel } from "../../../pages/admin-page/config/type"; -import type { CartItemPostModel } from "../../../pages/cart-page/config/type"; import type { MenuPageModel } from "../../../pages/menu-page/config/type"; import type { ReactNode , MutableRefObject } from "react"; diff --git a/src/contexts/cart/index.tsx b/src/contexts/cart/index.tsx index bcb80dc..7ae8a04 100644 --- a/src/contexts/cart/index.tsx +++ b/src/contexts/cart/index.tsx @@ -1,5 +1,6 @@ import { createContext, useEffect, useState } from "react"; +import { cloneDeep } from "../../common/utils/jjLodash"; import logger from "../../common/utils/logger"; import type { CartItemData } from "../../pages/cart-page/config/type"; @@ -42,11 +43,11 @@ const CartProvider: FC<Props> = ({ children }) => { const addCartItem = (cartItem: CartItemData) => { setItem((prevItem) => { - if (cartItem.shop !== prevItem?.shop) { + if (cartItem.shop._id !== prevItem?.shop._id) { return cartItem; } else { - const _prev = { ...prevItem }; + const _prev = cloneDeep(prevItem); _prev?.menus?.push(...cartItem.menus); return _prev; } diff --git a/src/pages/menu-page/modules/menu-box/MenuBox.tsx b/src/pages/menu-page/modules/menu-box/MenuBox.tsx index 83f94a4..6afec3a 100644 --- a/src/pages/menu-page/modules/menu-box/MenuBox.tsx +++ b/src/pages/menu-page/modules/menu-box/MenuBox.tsx @@ -69,8 +69,8 @@ const MenuBSEl: FC<MenuBSElProps> = ({ _id, name, price, image, shop }) => { const handleClickPutIn = () => { if (!cartItem) caseCartIsEmpty(); - if (cartItem?.shop && (cartItem?.shop !== shop)) caseCartIsNotSameShop(); - if (cartItem?.shop && (cartItem?.shop === shop)) caseCartIsSameShop(); + if (cartItem?.shop && (cartItem?.shop._id !== shop._id)) caseCartIsNotSameShop(); + if (cartItem?.shop && (cartItem?.shop._id === shop._id)) caseCartIsSameShop(); // TODO:: Needs TOAST flushBSElement(); -- GitLab