gpt4 book ai didi

Angular 6 ngrx,如何将新项目添加到状态对象中的数组?

转载 作者:太空狗 更新时间:2023-10-29 17:11:26 26 4
gpt4 key购买 nike

我有一个简单的情况,我有像 CreatUser、CreateSuccess、CreateFail 这样的操作。我应该如何向数组添加新对象以及何时调度 Create 操作或 CreateSuccess?我应该怎么做?

export function reducer(state = init, action: Actions): State {
switch (action.type) {
case ActionsTypes.CREATE:
return {
...state,
inProgress: true
};
case ActionsTypes.CREATE_SUCCESS:
return {
...state,
users: state.users.push(action.payload),
inProgress: false
};
case ActionsTypes.CREATE_FAIL:
return {
...state,
error: action.payload,
inProgress: false
};
default:
return state;
}

在上面的代码中,我尝试使用 push 方法添加新用户,但这不是一个好的解决方案。我应该怎么做?

最佳答案

尝试使用 spread operator因为它创建了一个新的用户数组并且不会改变之前的数组。

users: [...state.users, action.payload]

否则使用 @ngrx/entity数组模块。这是最好的方法。

2019 年 7 月 13 日更新

新模块@ngrx/data在 NgRx 8 中可用。此模块有助于为具有零样板的数组创建 CRUD 存储。

关于Angular 6 ngrx,如何将新项目添加到状态对象中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52109465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com