将字符串转换为日期?

时间:2017-09-25 12:43:43

标签: angular ngrx

典型情况:我通过http获取数据并将其存储到ngrx / store中。但是数据包含字符串而不是JS Date对象。我应该在哪里转换它们?

  1. 在服务中this.http(...).map(convert).subscribe(store.dispatch(new AddAction))
  2. 在商店case add: convert(payload); return state
  3. 的缩减器中
  4. 或者在行动中:

    export class AddMany implements Action {
        readonly type = addMany
    
        constructor(public payload: FinishedCall[]) {
             this.payload = this.convertData(payload)
        }
    }
    
  5. 我想我应该在服务中这样做,但我害怕获得非常大的服务文件

1 个答案:

答案 0 :(得分:0)

我建议在reducer中进行转换功能。

减少剂应该是无副作用的。这意味着他们不应该修改自己范围之外的东西。他们应该简单地将下一个应用程序状态计算为reducer参数的纯函数。

我们可以在这里看到我们正在传递一个初始状态(当前数字)和一个Action。要处理每个操作,常见的方法是使用switch语句。而不是每个reducer需要显式订阅调度程序,每个操作都会传递到每个reducer,后者处理它感兴趣的操作,然后将新状态返回到下一个reducer。

希望有所帮助