【发布时间】:2017-11-19 04:20:33
【问题描述】:
据我了解redux架构的原理,是为了缓解应用状态变化时的复杂性(业务逻辑?)。
但是是否也应该以 redux 方式处理与表示相关的状态? 例如。侧边栏当前是否打开,或者某个信息块当前是否展开等?
在ngrx/store example page 中就是这样完成的。但由于应用程序逻辑不依赖于这些表示状态,我看不到它的好处。
【问题讨论】:
-
迟早你可能会收到这样的功能请求“如果打开侧边栏,请在此处隐藏某些内容”或“如果搜索字段集中突出显示那里的内容”或“如果我隐藏此块,它应该保持隐藏状态页面重新加载后”。存储 ui 状态有助于以非常可预测的方式实现此类请求。
-
支持存储 UI 状态的一点是,这意味着如果您重放用户会话中调度的所有操作,您最终会得到 UI 和数据与第一次完全相同的状态。这意味着如果您序列化错误报告中的操作列表,您可以回放它们并自动重现问题。不过肯定有取舍 - 这意味着您必须跟踪商店中的更多信息。
-
谢谢伙计们,这两个听起来都很合理。