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

home2 게시판 React 게시판 장바구니 개발 관련 질문드립니다

장바구니 개발 관련 질문드립니다

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

    Dexter
    참가자

    Cart.js에서

    카트 어레이를 보여주고 카트 어레이를 클릭하면 바구니 어레이로 담기고 결제를 진해하면 바구니 어레이 리셋해주고 카트 어레이에서 바구니 안에 있었던 아이템들 삭제해주고, 바구니에서 결제된 아이템들은 내 아이템 어레이로 넘겨줘서 내 아이템 관리에서 볼 수 있게 하고 바구니에서 결제하면서 각 아이템별 결제한 날짜를 new Date().toLocaleString으로로 추가해준 뒤 결제내역 어레이에 담아 결제내역에서 보여주려면... 어떤 식으로 접근해야할까요? 

    4일째 고민중입니다... ㅜㅜ

     

    1. 바구니에서 결제했을 때 결제한 아이템을 카트 어레이에서 지우는 과정

    2. 카트 어레이에서 결제한 친구들을 내 아이템 어레이에 넣는 과정( 어레이가 아닌 오브젝트로 받는 법)

    setMyItem(prev => [basket친구들, ...prev])

    하면 항상 어레이로 받음... 이전 친구들을 킵 하면서 새로운 친구들을 받는 방법이 필요

    3.  basket에 있는 친구들에 결제한 날짜 오브젝트도 추가하는 법

    4. 아이템 기간이 예를 들어 10일이라면 하루가 지날때마다 줄여주는 코드는 어떻게 접근하면 될까요?

    Reducer.js

    function MyItems (state=myItem, action){

    if (action.type === 'dayPassed'){

    let copy = [...state]

    copy.map(each => each.days--)

    return copy

    }}

    이렇게 하고

    App.js에서

    const myItem = useSelector(state=>state.MyItems)

    uesEffect(()=>{

    setTimeout(()=>{

    dispatch({type: 'dayPassed'})

    }, 1440000) 

    })

    이런식으로 하면 가끔 에러가 뜨던데 이건 어떻게 접근하면 될까요...?

    #32894

    codingapple
    키 마스터

    카트랑 바구니랑 똑같은 역할이면 따로 둘 필요가 있을까요 

    상품1개가 object 자료라면 거기에 { 결제일 : new Date() } 이런거 저장해두면 되겠군요 

    타이머는 브라우저 끄면 없어집니다 그냥 유저가 페이지 접속시 (접속날짜 - 기록된 날짜)가 10일 이상 차이나면 그 상품은 지우라고 반복문 돌리면 될듯요 

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠