【发布时间】:2020-11-26 07:40:04
【问题描述】:
我是一名新手全栈开发人员,从事基本的购物车前端任务。
当我单击 addtoCart 时,作为状态一部分的我的 cartItems 数组没有更新。正在调用 addtoCart 函数,但没有进行更新。也没有显示错误
我的购物车组件是
export default class Cart extends Component {
render() {
const {cartItems} = this.props
return (
<div>
{cartItems.length === 0 ? (
<div className='cart cart-header'>Cart is empty</div>
) : (
<div className='cart cart-header'>You have {cartItems.length} items in yout cart{" "}</div>
)
}
</div>
我在 App js 中将商品添加到购物车的代码是:
addToCart = (product) => {
const cartItems = this.state.cartItems.slice();
console.log(cartItems);
let alreadyInCart = false;
cartItems.forEach((item) => {
if(item._id === product._id) {
item.count++;
alreadyInCart=true;
}
if(!alreadyInCart) {
cartItems.push({...product, count:1});
}
})
this.setState({cartItems});
console.log(this.state.cartItems)
};
【问题讨论】:
标签: reactjs components react-hooks