장바구니 페이지에 있는 crud를 구현하려고 노력했으며 다른 분께 배워서 crd는 구현하고 u는 너무 어려워서 다른 팀원이 해주셨다ㅠㅠ분발해야겠다
일단 이번에 한 기능들을 다시 보고 복습해야겠다
제가 부족한데 물어보면 알려주고 기다려주고 백엔드분들에게 요구한 것도 잘 말씀해서 협력해주셔서 감사했다

메인페이지

로그인 페이지

회원가입 페이지

장바구니
그리고 메인에서 장바구니에 넣으면 장바구니에 get되는 기능을 구현함
그리고 옆에 박스에 가격에 배송비포함으로 총합이 되도록 구현했음

장바구니에서 x를 누르면 목록이 사라지는것을 만듦
그리고 메인에서 장바구니에 넣으면 장바구니에 get되는 기능을 구현함
//액션
const SET_CART = 'SET_CART';
const DELETE_CART = 'DELETE_CART';
//액션함수
const setCart = createAction(SET_CART, cartList => ({ cartList }));
const deleteCart = createAction(DELETE_CART, postId => ({ postId }));
const initialState = {
cart_list: [],}
//미들웨어
const getCartAPI = () => {
return function (dispatch, getState, { history }) {
// getToken();
api
.get(`/carts`)
.then(res => {
console.log(res);
dispatch(setCart(res.data.cartAllList));
})
.catch(err => {
console.log('err장바구니조회', err);
});
};
};
//DELETE
const deleteCartMddleWares = postId => {
return function (dispatch, getState, { history }) {
api
.delete(`/carts`, { postId })
.then(res => {
console.log(res);
dispatch(deleteCart(postId));
})
.catch(err => {
console.log(err, '삭제에러임');
});
};
};
//리듀서
export default handleActions(
{ [SET_CART]: (state, action) =>
produce(state, draft => {
draft.cart_list = action.payload.cartList;
}),
[DELETE_CART]: (state, action) =>
produce(state, draft => {
let idx = draft.cart_list.findIndex(c => c.postId === action.payload.postId);
draft.cart_list.splice(idx, 1);
}),
}, initialState,
);
const actionCreators = {
addCardMiddleWare,
getCartAPI,
deleteCartMddleWares,
};
export { actionCreators };
이 리덕스부분이 어려워서 계속 공부해야할거같다
특히 업데이트부분은 너무 어려워서 아직 손을 못댔는데 이번 기회에 공부를 해야할거같다