我想将新元素追加到我的产品状态,目前正在使用.concat
,但它会添加到数组的末尾,但我需要添加到开头。
var Body = React.createClass({
getInitialState() {
return { products: [] }
},
handleSubmit(product) {
var newState = this.state.products.concat(product);
this.setState({ products: newState });
},
});
试图使用this.state.products.unshift(product)
,但它给了我Uncaught TypeError: this.state.tickets.unshift is not a function
,它可能会返回数组的长度而不是它自己。
答案 0 :(得分:0)
只需更改连接的顺序即可。如果“product”是单个项目而不是数组,那么请执行以下操作:
int distance(unsigned a, unsigned b)
{ // Distance from `a` to `b`
unsigned d = (b + 8 - a) % 8;
// `d` is CCW distance from `a` to `b`
return d <= 4 ? d : (int) d - 8;
}
如果“product”已经是一个数组,只需这样:
var newState = [product].concat(this.state.products);