У меня есть это состояние в редуксе:
draft: {
temporary: { clientId: null, shoppingCart: [] },
},
в моей корзине я добавляю некоторые объекты с помощью react-addons-update:
const newState = { ...state };
let cart = newState.draft.temporary.shoppingCart;
cart = update(cart, { $push: [{ id: 1, quantity: 3 }] });
newState.draft.temporary.shoppingCart = cart;
return newState;
и мое новое состояние в приложении:
draft: {
temporary: { clientId: null, shoppingCart: [
{id: 1, qnt: 3},
]},
},
Я настраиваю редуктор products с помощью:
products: persistReducer(products: {
key: 'products',
storage,
whitelist: ['draft'],
}, products),
но мой магазин не сохраняется после перезагрузки приложения.
ОБНОВИТЬ:
пример решения, которое работает:
newState.draft = { ...newState.draft, temporary: { ...newState.draft.temporary, shoppingCart: [ ...newState.draft.temporary.shoppingCart, { id: 1, qnt: 3 } ]}};
решение без react-addons-update, которое не работает:
newState.draft.temporary.shoppingCart = [ ...newState.draft.temporary.shoppingCart, { id: payload.id, quantity: 1 } ];
Есть "более чистое решение"??