NgRx中的还原剂增强剂相当于什么?

时间:2019-02-26 16:09:31

标签: angular redux ngrx reducers

我正在尝试使用@ ngrx / store在我的应用程序中实现撤消/重做功能。

此处描述了基本概念(Redux):https://redux.js.org/recipes/implementing-undo-history

在配方中的某个时刻,reduce函数被包装在Redux中称为 reducer Enhancer

  

Reducer增强器(或更高阶的Reducer)是采用Reducer并返回一个新Reducer的功能,该Reducer能够处理新动作或保持更多状态,将控制权委派给内部Reducer以执行其动作不明白。

在NgRx中这相当于什么?如何构建商店...

store.pipe(select('counter')); 

...但是将其包装在“增强器”功能内?伪代码:

undoable(store.pipe(select('counter'));

有人将我指向meta归约器(https://ngrx.io/guide/store/metareducers),但有关该文档的信息并没有为我解决。

1 个答案:

答案 0 :(得分:1)

在这里,减少元数据是正确的答案。它与redux文档具有相同的API,它接收一个reducer并返回一个reducer。另一个示例可能是用例,当用户退出时刷新状态。

enter image description here