Entonces, digamos que está en la página del producto de una camiseta Nike, elige el color y el tamaño (por ejemplo: negro y S) y lo agrega al carrito. Ahora el carrito contiene 1 CAMISETA Nike con los atributos seleccionados: color: negro, talla: s. Ahora, en la misma página de la camiseta, elige el color blanco y la talla M, los atributos de la camiseta añadida anteriormente cambian de (color:negro a color: blanco, y forma talla:s a talla:M) y ahora tener en carrito 2 CAMISETAS TALLA :M Y COLOR: NEGRO. ¿Qué estoy haciendo mal?
class PDP extends Component { state = { currentProduct: this.props.location.state, selectState: [], testObj: {}, } render() { let product = this.state.currentProduct; let handleChange = (evt,attribute) => { const test = Object.assign({}, product); this.state.testObj[attribute] = evt.target.value; this.state.selectState.push(this.state.testObj); let selectedAttributes = [...new Set(this.state.selectState)]; test.selectedAttributes = selectedAttributes; this.setState((state) => ({ currentProduct: test })) } <button className="addToCart" onClick={() => this.props.data.addProduct(this.state.currentProduct)}>ADD TO CART</button> addProduct = (product) => { this.setState((state) => ({ cart: state.cart.concat(product), })) }