Skip to content

0720

clone coding

사용자 옵션 선택 → watchedOptions 변경 → findMatchingOption → currentMatchingOption
사용자 수량 입력 → watchedQuantity 변경 → 재고 차감 요청
장바구니에서는 이미 선택된 옵션에 대한 선택이니 그냥 flat화

만약 장바구니에서도 옵션을 변경할 수 있었다면 watchedOptions

JSON.stringify 문제점

  • 문제상황
    • 장바구니 선택 상품 옵션과 일반 상품 옵션 비교 시 발생한 이슈
    • 발생한 문제는 아니고 잠재적 이슈엿음
  • JSON.stringify 사용 시 문제점
    • 문자열 변환 비용이 큼
    • 객체 속성 순서가 보장되지 않아 같은 내용이어도 다르게 인식됨
  • 근본적 해결책
    • 관계형 DB 사용 (정규화된 테이블로 옵션 관리)
      • DB에서 ORDER_BY로 항상 같은 순으로 정렬하면
      • 성능도 최적화 되고 프론트에서 굳이 파싱할 이유도 없음
  • 프론트엔드에서의 임시 해결방법
    1. 배열 길이 비교 (기본 검증)
    2. every() 함수로 모든 요소가 조건을 만족하는지 확인
    3. some() 함수로 option id 존재 여부 검증