그걸 뒤로가기누른다음 한번더 상품추가를 누르게되면 해당상품의 재고가 +1이되게끔 하고있습니다
선생님께서 숙재로내주신 [4. 같은 상품을 계속 주문하면 항목추가 X 수량증가 O] 를 하고있는데요
지금 상황을 말씀드리면 아이디값을찾아서 ++시켜 1을 2로 2를3으로 증가시키는것까지는 됐는데 문제는 이미 수량1이라고 표기되어있는 추가된상품의 값이 변경이되지않는사태가 일어났습니다
즉 값은 변하지만 변한값을 업데이트해줘서 덮어씌워야할것같은데 이부분을 어떻게해야할지 고민이됩니다
function reducer(state = storeValue , action){
if (action.type === 'addCart'){
let copyStoreValue = [...state];
if(copyStoreValue.some(copyStoreValue=>copyStoreValue.id === action.payload.id)){
console.log('상품의 아이디값은 ',action.payload.id , '추가된 상품의 id가 중복됩니다');
console.log('처음설정된 상품갯수',action.payload.quan);
action.payload.quan++;
console.log('숫자가더해진 상품갯수',action.payload.quan);
// 여기서 장바구니에 추가된 상품의 갯수가 늘어난것을 확인
//다만 업데이트가 안됨 다시 copyStoreValue를 변경해주는작업 필요
// console.log(copyStoreValue.some(copyStoreValue=>copyStoreValue.id),'테스트중');
return copyStoreValue;
} else {
console.log('isset 안됨');
copyStoreValue.push(action.payload); console.log(action.payload.quan,'이거');
return copyStoreValue;
}
// copyStoreValue.push(action.payload);
// console.log(copyStoreValue.id,'이거');
// return copyStoreValue;
}
if (action.type === 'addValue'){
let copyStoreValue = [...state];
copyStoreValue[0].quan++;
return copyStoreValue
} else if (action.type === 'downValue'){
let copyStoreValue = [...state];
copyStoreValue[0].quan--;
return copyStoreValue
} else{
return state;
}
}
요게 그 해당코드인데 업데이트를 어떻게하면 좋을지가 고민입니다