Возможны дубликаты этого вопроса, но они не очень хорошо отвечают на мой вопрос.Поэтому я решил начать новую тему.
Поэтому я пытаюсь создать простой компонент корзины для приложения электронной коммерции ....
Ниже приведен код для редукторов.и файлы действий:
actions.js
export const incrementQuantitySuccess = (basketProducts) =>{
return {
type: actionTypes.INCREMENT_QUANTITY_SUCCESS,
basketProducts:basketProducts
}
}
export const incrementQuantity = (line) => {
return (dispatch,getState) => {
/*LOGIC for increment quantity*/
const basketProducts = getState().basket.productsInBasket;
const updatedBasketProducts = basketProducts.map((product) =>{
if (product.id === line.id){
product.quantity += 1;
product.total = product.quantity * product.price;
}
return product;
});
/***************/
dispatch(incrementQuantitySuccess(updatedBasketProducts));
}
}
reducer.js
const incrementQuantitySuccess = ( state, action ) => {
return updateObject(state,{
productsInBasket:action.basketProducts,
loading:false
});
}
const reducer = (state= initialState,action) => {
switch(action.type){
case actionTypes.GET_BASKET: return getBasket(state,action);
case actionTypes.INCREMENT_QUANTITY_SUCCESS: return incrementQuantitySuccess(state,action);
default:return state;
}
}
export default reducer;
Сейчас у меня естьПоместите логику количества приращений в мой файл action.js.
Я нашел несколько советов относительно сохранения баланса между редукторами и создателями действий, когда дело доходит до распространения бизнес-логики, где, как некоторые говорили, держать редукторы глупыми и глупыми.
Мой вопрос: куда должна идти логика для приращения?Я просмотрел несколько статей на сайте redux.js.org о том, где должна быть бизнес-логика, но я до сих пор не уверен в этом.
Также это конкретный вариант использования. Я не уверен, что мне нужно промежуточное программное обеспечение, такое как Redux-logic.
Я новичок, чтобы реагировать.Пожалуйста, руководство по этому поводу.
Заранее спасибо