面对一个问题,我的推车没有更新的数量和总价正确后2个数量。
在按下按钮的ADD_TO_CART过程中使用redux操作,我将为数量为1的对象分配一个新元素
export function addToCart(card){
return (dispatch) => {
card.quantity = 1;
dispatch({type: ADD_TO_CART, data:card});
console.log(card);
};
}
在我的减速器上,下面是功能
let cartState = { data: [], totalPrice: 0 };
const cartReducer = (state = cartState, action) => {
switch (action.type) {
case ADD_TO_CART:
let totalPriceCart = 0;
let checkforDuplicate = state.data.some(function (a){
if(a.sno === action.data.sno){
return true;
}
});
if(checkforDuplicate){
for (let i in state.data) {
if (state.data[i].sno === action.data.sno) {
state.data[i].quantity = action.data.quantity+1;
break;
}
}
for(let e in state.data){
totalPriceCart = totalPriceCart + (state.data[e].price*state.data[e].quantity);
}
return {data: state.data, totalPrice: totalPriceCart };
}
let cloneArr = state.data.concat(action.data);
for(let i in cloneArr){
totalPriceCart = totalPriceCart+(cloneArr[i].price*cloneArr[i].quantity);
}
return {...state, data : cloneArr, totalPrice: totalPriceCart }
default:
return state;
}
};
我在减速器里做的是,
>
否则将连接数组
在结束时,将统计整个项目的总价在状态下,并将它返回到我的推车,以显示基于数量*价格的总价
问题是,目前,我的代码只显示到2倍,当添加同一项目第3次,数量将停留在2倍,价格计算不正确。
您应该更改state.data的数量
if (checkforDuplicate) {
for (let i in state.data) {
if (state.data[i].sno === action.data.sno) {
state.data[i].quantity = state.data.quantity + 1;
break;
}
}
for (let e in state.data) {
totalPriceCart = totalPriceCart + (state.data[e].price * state.data[e].quantity);
}
return { data: state.data, totalPrice: totalPriceCart };
}
使用=====array.map()========进行突变
let mutatedArr = state.data.map((item)=> {
if (item.sno === action.data.sno) {
item.quantity += 1;
}
return item;
});
let totalPriceCart = 0;
mutatedArr.forEach((item)=>{
totalPriceCart+ = (item.price * item.quantity)
})
return { data: mutatedArr, totalPrice: totalPriceCart };
我是一名Android应用程序开发人员,从上一个月开始研究 React 原生。我有问题,对于那些我无法找到解决方案的人: > 确实反应原生使用而不是来表示字体大小,并且如果我们想使用dp来表示字体大小怎么办。 我想为布局提供、和 维度,如何做到这一点? 如何为7英寸平板电脑、10英寸平板电脑和手机提供单独的尺寸?出于某种目的,我想为react-native实现isDeviceTablet()方法,
本文向大家介绍jQuery实现购物车多物品数量的加减+总价计算,包括了jQuery实现购物车多物品数量的加减+总价计算的使用技巧和注意事项,需要的朋友参考一下
我正在做一个拉拉维尔购物网站项目,我对购物车中的产品数量有问题。我对拉雷维尔比较陌生,所以事情对我来说变得更复杂。。。问题是我不能真正有效地循环(并寻找)simular产品。 但是当我按下“添加到购物车”按钮时,这个功能会运行: 产品是对象,我不确定如何循环查找产品的id以匹配数组-产品id。我尝试json_decode()看看这是否会使其成为一个数组,但我在这里可能是错误的,因为当我返回值时,它
本文向大家介绍关于使用js算总价的问题,包括了关于使用js算总价的问题的使用技巧和注意事项,需要的朋友参考一下 昨天对接数据,发现有个商品总价需要计算,商品数量不定,商品价格不定,商品种类不定,有点蒙,想来想去想找到点简单的写法也没想到,最后提供一种简单的思路吧。 商品数量,商品价格先建立两个数组; 之后在新建一个数组放单个商品总价的数组; 之后获取到所有的商品数量,商品价格放入数组,两个数组进行
本文向大家介绍原生JS和jQuery操作DOM对比总结,包括了原生JS和jQuery操作DOM对比总结的使用技巧和注意事项,需要的朋友参考一下 一、创建元素节点 1.1 原生JS创建元素节点 1.2 jQuery创建元素节点 二、创建并添加文本节点 2.1 原生JS创建文本节点 通常创建文本节点和创建元素节点配合使用,比如: 2.2 jQuery创建并添加文本节点: 三、复制节点 3.1 原生JS
当我将移动主题从浅色改为深色时,它会影响react原生应用程序的背景颜色。我只想让它始终保持白色,但当我改变我的移动主题从光明到黑暗时,它会变成白色到黑色。Android版本10 React原生版本0.61.5 React版本16.9.0