ReactJs如何逐个删除状态项

时间:2018-01-20 11:14:23

标签: javascript reactjs state react-props

例如,如果我将10个相同的项目添加到一个购物车,我该如何将其减少到9个。

this.state = {
   cart = {}
}
this.props.cart[key]
//tshirt: 10

感谢。

3 个答案:

答案 0 :(得分:0)

我假设你想减少,所以你可以做这样的事情

this.setState({tshirt: this.state.tshirt - 1})

答案 1 :(得分:0)

首先this.statethis.props不同,所以请查看代码this.props.cart === undefined。除非你的部分代码没有看到。 那说this.state.cart就像任何其他js对象一样,所以假设'键'是使用密钥的属性名称,即this.state.cart['shirt-10'] = {...propsOfShirt10 } you can just use delete`。

delete this.state.cart['shirt10']

答案 2 :(得分:0)

解决了它。对不起,如果它似乎太noob问题。答案是,一直都是愚蠢的,在我的鼻子底下。感谢您的回答,您的回答很有帮助。

cart[key] = cart[key] - 1;
    if (cart[key] < 0){
        cart[key] === 0;
    }
    else{
    this.setState({cart})}