我们正在 Angular 4 项目中使用 RXJS 和 Redux 进行状态管理。目前我们正在开发向导功能。该向导包括5个步骤,每个步骤都是自己的反应形式,并且每个步骤都有子reducer来处理自己的状态。
向导减速机:
{
error: <handled by HOR>
pending: <handled by HOR>
warning: <handled by HOR>
settings: <handled by sub-reducer>
step1Subreducer: <handled by sub-reducer>
step2Subreducer: <handled by sub-reducer>
step3Subreducer: <handled by sub-reducer>
step4Subreducer: <handled by sub-reducer>
step5Subreducer: <handled by sub-reducer>
}
每一步都调度一个将表单值保存在状态中的操作。向导组件在最后一步执行保存操作,保存操作应从状态(所有子化简器)中收集所有值并执行 REST 操作以创建对象。我们阅读了很多关于 getstate() 函数的文章,并且我们不应该使用它来获取状态(反模式,你也这么认为吗?)。我们当前的解决方案是订阅 state(step1SubReducer, Step2SubReducer) 中的每个 sub reducer,并将这些值分配给向导组件内的变量,但这看起来像是一种解决方法,即使我们只需要它也会导致许多订阅触发事件在我们的最后一步。有什么建议么?
谢谢!