React / Redux - 使用扩展运算符

时间:2017-02-10 13:19:24

标签: javascript arrays reactjs redux

我正在使用redux reducer将对象添加到状态数组中。这是正常的,但是,对象被添加到数组的末尾。我已经搜索了高低,但无法弄清楚如何使用这种语法,而不是改变数组并将对象添加到数组的开头。

export default (state = [], action) => {

    switch(action.type) {

    case 'MOVIE_ADDED_TO_WATCHLIST':

            return [
                ...state,
                action.movie
            ];

        }

...****rest of the reducer here****.....

1 个答案:

答案 0 :(得分:8)

如果要使用spread运算符将项添加到数组的开头,只需在新值之后使用spread运算符。例如:

let a = [1, 2, 3, 4, 5];
let b = [0, ...a];

console.log(a);
console.log(b);

此外,您还可以使用.concat

var a = [1, 2, 3, 4, 5];
var b = [0].concat(a);

console.log(a);
console.log(b);

您可以看到此here的实际示例。