Redux:(域数据和)应用程序状态与 UI 状态

Gle*_*mad 4 redux

来自关于基本状态形状的 Redux 文档:

大多数应用程序处理多种类型的数据,大致可以分为三类:

  1. 域数据:应用程序需要显示、使用或修改的数据(例如“从服务器检索到的所有 Todos”)
  2. 应用程序状态:特定于应用程序行为的数据(例如“当前选择了 Todo #5”,或“正在进行获取 Todos 的请求”)
  3. UI 状态:表示 UI 当前显示方式的数据(例如“EditTodo 模式对话框当前处于打开状态”)

域名的数据部分我很清楚,但我还是能隐约的区分应用程序状态UI状态。为 App 状态部分给出的示例:“当前选择了 Todo #5 ”,或“正在进行获取 Todos 的请求”,听起来很像UI 状态。它们如何归类为App 状态,而不是UI 状态

mar*_*son 5

我写了那个 Redux 文档页面。(4 年前!哇。时间过得真快!)

我试图给出一些广泛的例子来说明这些概念,而不是进行严格的分类。您可能会提出一个合理的论点,即“选择哪个待办事项”比“应用程序”更“UI”。另一方面,我会说“当前选择的待办事项”更有可能与应用程序可以做的其他事情有关,例如“删除此待办事项”、“将此待办事项标记为已完成”等,而“模式是开放的”严格来说是关于 UI 的显示方式。