За основу взял пример каталога из официальной документации (
link
У нас есть хранилище с такой структурой (условно)
products: [{}, {}, {}, ...] // массив объектов с данными товаров
cartItems: [{id:1, quantity: 1}, ...] // объесты со ссылками на id товара в products и количеством
Данные для корзины мы генерируем в getters на основе массива products
getters:
cartProducts: (state, getters, rootState) => {
return state.items.map(({ id, quantity }) => {
const product = rootState.products.all.find(product => product.id === id)
return {
title: product.title,
price: product.price,
quantity
}
})
}
}
Вопрос - как получать данные для корзины товаров, если в state.products у нас хроняться не все товары, а только их часть (загруженная с сервера для текущей страницы пагинации)?
Первые идеи на эту тему:
получать данные для корзины - в actions, через Promise.all по id вытаскивая данные для каждого товара?
но как тогда лучше эти данные хранить и обновлять(например удалив товар или поменяв их количество)?
или лучше уйти от DRY и хранить в cartItems полные данные товаров?