[한끼밀] 장바구니 페이지 - id에 대한 고민

hameee·2023년 5월 9일
0

한끼밀 프로젝트

목록 보기
1/5
post-thumbnail

🔗 한끼밀 링크 http://www.hankkimeal.kro.kr

🌈 Intro

장바구니는 여러 페이지에서 데이터가 들어오고, 데이터를 보내주어야 하는 페이지이다. 장바구니의 데이터 흐름 다이어그램을 피그마로 만들어 보았다.

장바구니에서 데이터 보낼 때(노랑 -> 주황) 4가지 경우 모두 밀박스를 식별할 수 있는 cartMealboxId를 포함해야 한다.

근데 비로그인일 때는 id가 없어!!

우리는 장바구니 정보를 현재 이렇게 저장하고 있다.

로그인 시, 장바구니에 밀박스를 추가하면 서버에 밀박스 정보가 저장되고 밀박스마다 cartMealboxId가 생성된다. 하지만 비로그인 시에는 세션 스토리지에만 저장하므로 서버에서 cartMealboxId를 부여받지 못한다. 밀박스에 id가 없으면 몇 가지 문제가 생기는데

  • 장바구니의 밀박스 수량 변경, 삭제를 위한 밀박스 식별자가 없음
  • 장바구니 렌더링 시 li 태그의 key로 지정할 수 있는 값이 없음

이러한 문제가 비로그인 시에 나타났다.

결국

비로그인 시, 각 밀박스에 임시 id인 cartMealboxId를 생성했다. id 이름을 서버와 동일하게 한 이유는

  • 로그인, 비로그인 시 id 값을 분기 처리할 필요가 없고,
  • 로그인 시 cartMealboxId는 서버에서 재할당되므로 서버로 데이터를 보내기 전에 임시로 생성한 id를 삭제할 필요가 없기 때문이다.

0개의 댓글