2016-11-25 3 views
0

Ich möchte ein neues Element an meinen Produktstatus anhängen, das derzeit .concat verwendet, aber es wird am Ende eines Arrays hinzugefügt, aber ich muss an den Anfang hinzufügen.Reagieren, wie man neues Element an Zustand anfügt?

var Body = React.createClass({ 
    getInitialState() { 
    return { products: [] } 
    }, 

    handleSubmit(product) { 
    var newState = this.state.products.concat(product); 

    this.setState({ products: newState }); 
    }, 
}); 

Versuchte this.state.products.unshift(product) verwendet, aber es ist mir Uncaught TypeError: this.state.tickets.unshift is not a function geben, die wahrscheinlich ist es Länge eines Arrays gibt sich nicht.

Antwort

0

Ändern Sie einfach die Reihenfolge Ihrer Verkettung. Wenn „Produkt“ ein einzelnes Element ist und nicht ein Array, das dann tun:

var newState = [product].concat(this.state.products); 

wenn „Produkt“ ist bereits ein Array ist, gerade dies:

var newState = product.concat(this.state.products); 
Verwandte Themen