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)
})
이런식으로 하면 가끔 에러가 뜨던데 이건 어떻게 접근하면 될까요...?