NgRx 中的 reducer 增强剂等价物是啥?

Posted

技术标签:

【中文标题】NgRx 中的 reducer 增强剂等价物是啥?【英文标题】:What is the equivalent of a reducer enhancer in NgRx?NgRx 中的 reducer 增强剂等价物是什么? 【发布时间】:2019-07-20 05:51:13 【问题描述】:

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

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

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

的东西中

reducer 增强器(或更高阶的 reducer)是一个函数,它接受一个 reducer,并返回一个能够处理新动作或保持更多状态的新 reducer,将控制权委托给内部 reducer不明白。

在 NgRx 中这个等价物是什么?我该如何构建商店...

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

...但是将其包装在“增强器”函数中?伪代码:

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

有人向我指出了 meta-reducers (https://ngrx.io/guide/store/metareducers),但是上面的文档并没有为我解决问题。

【问题讨论】:

【参考方案1】:

Meta-reducers 是正确的答案。它具有与 redux 文档相同的 API,它接收一个 reducer 并返回一个 reducer。另一个示例可能是在用户退出时刷新状态的用例。

【讨论】:

是的,看来我毕竟走在了正确的轨道上,举手有点早。感谢您验证我的预感!

以上是关于NgRx 中的 reducer 增强剂等价物是啥?的主要内容,如果未能解决你的问题,请参考以下文章

原料Lipex® PreAct活性润肤剂增强对皮肤的保护

在 NgRx 中强类型化存储的目的是啥?

Flow 中星号 (*) 类型的用途是啥,TypeScript 中的等价物是啥?

swiftui中的textarea等价物是啥?

BigQuery 中的 OTRANSLATE 等价物是啥?

PowerShell 中的 xargs 等价物是啥?