我无法显示数组的状态以便在其中推送对象。 CreateCards组件在addCart函数中返回好的信息。
constructor(){
super();
this.state = {
cards: []
}
}
addCart(title, qte){
console.log(title);
console.log(qte);
console.log(this.state.cards);
//let array = this.state.cards;
//array.push({title: title, qte: qte});
}
render(){
console.log(this.state.string);
return (
<div>
<div>
<h2>Panier</h2>
</div>
{
data.map((bike, index)=>{
return (
<CreateCards key={index} title={bike.title} img={bike.img} price={bike.price} addCart={this.addCart}/>
)
})
}
</div>
)
}
答案 0 :(得分:0)
你的addCart函数应该像
addCart(title, qte){
console.log(title);
console.log(qte);
const array = this.state.cards.concat({title: title, qte: qte})
this.setState({cards: array})
}
Push方法会改变状态,因此请使用concat代替它。它返回一个新数组。
答案 1 :(得分:-2)
你也应该使用
const newCards = this.state.cards.push({title: title, qte: qte});
this.setState({ cards: newCards });
而不是试图直接改变状态对象。