我了解如何使用redux中间件并将其附加到applyMiddleware
,我在努力取消操作或根据某些情况调度不同的操作
我有一个商店应用。如果用户减少了一件物品的数量,并且我希望我的中间件与该物品进行交互(如果数量从1变为0,并且弹出一个模态,则说:“您确定要从购物篮中删除吗?”)然后如果他们单击“是”,则操作完成。如果他们单击否,操作将取消
const modalMiddleware = store => next => action => {
console.log(action)
if (action.type === 'DECREMENT_QUANTITY'){
} else {
next(action)
}
}
这是我到目前为止所拥有的。如何取消if块中的操作?
更新的部分:
基本上,如果项目的数量为1,并且该人尝试单击触发-
操作的DECREMENT_QUANTITY
按钮,我想说:“您确定要从此项目中删除此项目吗?篮子?” (因为显然是1到0 ===删除了它)。然后如果他们单击“是”,我将继续执行该操作,否则,请取消该操作。
但到目前为止,我仍然这样做:
const modalMiddleware = store => next => action => {
if ( action.updatedItem && action.type === 'DECREMENT_QUANTITY' ){
if (action.updatedItem && action.type === 'DECREMENT_QUANTITY' && action.updatedItem.quantity === 1){
console.log(store.getState().bag.products[0].quantity, 'quants')
} else {
next(action)
}
} else {
next(action)
}
}
它似乎仅在数量为2时执行此操作,即,当数量达到2并单击-
时它仍保持为2,但我似乎无法在1:/ 这样做>