React/Redux - 使用扩展运算符将对象添加到数组的开头

Posted

技术标签:

【中文标题】React/Redux - 使用扩展运算符将对象添加到数组的开头【英文标题】:React/Redux - Add object to start of array using spread operator 【发布时间】:2017-06-28 20:40:48 【问题描述】:

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

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

    switch(action.type) 

    case 'MOVIE_ADDED_TO_WATCHLIST':

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

        

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

【问题讨论】:

【参考方案1】:

如果您想使用扩展运算符将项目添加到数组的开头,只需在新值之后使用扩展运算符即可。例如:

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 的工作示例。

【讨论】:

以上是关于React/Redux - 使用扩展运算符将对象添加到数组的开头的主要内容,如果未能解决你的问题,请参考以下文章

react+redux官方实例TODO从最简单的入门-- 改

React - 没有 Redux 的可扩展架构(MVC + DDD 方法)

React-Native with Redux:API 对象出现在我的 console.log 中,但不在我的视图中

React Redux - 删除对象的数据获取模式

React+Redux+Dva学习

React Redux:即使 mapStateToProps 是,视图也没有更新