How to push an item to an item array within state.The Addcartbutton component adds a new item to state.items.But each time when i add new item the state.items is not updated. `
import React from 'react';
import Addtocartbutton from '../component/addcart';
import Cart from '../component/cartlist';
export default class Product extends React.Component {
constructor() {
super();
this.state = {
items: [],
total: 0,
currency: 'INR'
}
this.addtocart = this.addtocart.bind(this);
}
addtocart(data) {
console.log(data);
this.setState({
items:[this.state.items,data]
})
console.log(this.state.items);
}
render() {
var list = this.props.dataname;
return (
<div className="card hoverable">
<div className="card-image">
<img src={list.image} alt={list.name} className='shop-img' />
</div>
<div className="card-content">
<span className="card-title blue-text text-darken-2">{list.price} {list.currency}</span>
<p>{list.name}</p>
</div>
<Addtocartbutton onClick={this.addtocart.bind(this,list)} />
</div>
)
return(
<Cart datalist={this.props.items}/>
)
};
}
Tried this.state.items.push() but dosen't seems to work at all.Also how to pass item array as a props to Cart component from Product component.
import React from 'react';
export default class Cart extends React.Component {
render() {
let p = this.props.datalist;
console.log(p);
return (
<ul className="collection">
<li className="collection-item avatar">
<img src="#" alt="" className="circle" />
<span className="title">dfdfd</span>
<a href="#!" className="secondary-content"><i className="material-icons">grade</i></a>
</li>
</ul>
)
}
}