如何在React中将项添加到状态数组的前面

时间:2016-01-20 15:19:55

标签: reactjs

我知道您可以使用concat将数据添加到数组的末尾,但如何将替换项添加到前端呢?

添加到最后:

var allStatuses = this.state.statusData;
var newStatuses = allStatuses.concat([data.statuses]);
this.setState({statusData: newStatuses});

我想要做的是将“concat”更改为将data.statuses放在前面而不是结尾的东西。

3 个答案:

答案 0 :(得分:8)

是否有问题

[data.statuses].concat(allStatuses);

如果您使用的是ES6,则可以

var newStatuses = [data.statuses, ...allStatuses]

答案 1 :(得分:5)

实际上,在这种情况下你可以使用var newStatuses = [data.statuses].concat(allStatuses);

Fatal error: Call to a member function filter() on array

答案 2 :(得分:0)

如果要修改原始数组,请使用Array.unshift

var arr = [1,2,3];
arr.unshift(0);
arr // 0,1,2,3

如果您想要新阵列,请使用Array.concat作为Alexander建议

this.setState({statusData: [0].concat(this.state.statusData)})