Я делаю заявку в интернет-магазине и после того, как пользователь отправляет свою корзину, я отправляю запрос в бэкэнд. В бэкэнде есть заказ, созданный на основе этой информации, и созданный заказ отправляется обратно. Когда я получаю этот заказ из бэкэнда, я хочу обновить общий контекст (состояние) с помощью этой информации о заказе.
// CartState.js
const sendOrder = async (order, person) => {
const body = JSON.stringify({ order, person });
// CALL API
try {
const response = await API.post('/orders', body);
const { data } = response;
dispatch({ type: SEND_ORDER, payload: data });
} catch (err) {
console.log(err);
}
};
case SEND_ORDER: {
return {
...state,
order: action.payload,
items: state.items.map(item => {
item.count = 0;
return item;
})
};
Но когда я получаю статус 200 с новым заказом назад и нужным объектом ( в отношении журнала консоли, который я сделал) контекст не обновляется.
{
payment_status: "not paid"
delivery_moment: "As soon as possible"
items: [{…}]
_id: "5e7e3c842c2a0236a42b09d2"
person: {name: "Dennis Klarenbeek", email: "dennis.klarenbeek@icloud.com", phone: "0622225086", street: "Glindhorst, 52", city: "EDE", …}
vendor: "5e7de28d6514432ed7a71787"
created: "2020-03-27T17:48:52.495Z"
order_id: 10034
__v: 0
}
В части рендеринга рэка он постоянно говорит: не может деструктурировать что-либо - ноль. И ноль - начальное состояние заказа.
Может ли кто-нибудь мне помочь?