将数组添加到react-redux中的旧数组中

时间:2018-04-16 20:18:57

标签: reactjs react-redux

我在redux“politicianList”中有一个州。我不想用新状态替换旧状态。相反,我想将旧状态与新状态合并。我是这样做的。我工作但我想知道这是否是一种正确的反应方式呢?

export default function ImageReducer(state = INITIAL_STATE, action){
    switch(action.type){
        case FETCH_POLITICIAN_LIST_SUCCESS:
            return {...state, politicianList : state.politicianList.concat(action.payload)};
            break;

1 个答案:

答案 0 :(得分:0)

redux需要不变性,你做得恰到好处,所以回答你的问题;这是正确的做法(出于许多其他正确的方式)

{...state}创建一个与state具有相同属性的新对象,而不会突变state。然后,您将覆盖此新对象中的属性politicianList

您提供的值politicianList是与有效负载连接的先前值politicianListArray.protoype.concat是不可变的并返回一个新数组。

总而言之,您创建了一个具有更新值的新对象,而不会改变旧对象。

我可以推荐immutable.js,以便更轻松地使用不可变数据。