使用NgRx,重置或返回状态对象内部的空数组的正确方法是什么?

时间:2019-08-14 09:07:53

标签: javascript angular typescript redux ngrx

在NgRx归约器中返回空数组的正确方法是什么?

我使用NgRx编写一个基本的化简器,它在初始状态下包含一个空数组myArray

import * as MyActions from './my.actions';
const myState = {
    myValue: 'foo',
    myArray: []
}

而且,我有一个动作ARRAY_RESET,它返回myArray作为空数组,如下所示:

export function myReducer(
    state = myState,
    action: MyActions.MyActionTypes
) {
    switch(action.type) {
        case MyActions.ARRAY_RESET:
            return {
                ...state,
                myArray: []   <---- I RETURN AN EMPTY ARRAY
            };
        case MyActions.ARRAY_PUSH:
            return {
                ...state,
                myArray: [...state.myArray, action.payload]
            };
        default:
            return state;
    }
}

这是正确的方法吗?

1 个答案:

答案 0 :(得分:1)

是的,要重置它或清空它,我们应该将其设置为一个新的空数组:

return {
  ...state,
  myArray: []   <---- RETURN AN EMPTY ARRAY
};