Redux商店:什么进入数据,什么进入UI?
通常的做法似乎是分别为数据和ui单独存储,例如Redux商店:什么进入数据,什么进入UI?,redux,Redux,通常的做法似乎是分别为数据和ui单独存储,例如 store | +--- data | | | + foo.reducer.ts | + ... | +--- ui | + bar.reducer.ts + ... 我想知道如何从ui中区分数据,似乎并没有明确的区别。例如,我可能想存储侧边栏的状态(打开、浮动、固定等),它清楚地进入ui。还有一些东西,比如应用程序栏标题,看起来也是纯粹的用户界面问题,尽
store
|
+--- data
| |
| + foo.reducer.ts
| + ...
|
+--- ui
|
+ bar.reducer.ts
+ ...
我想知道如何从ui中区分数据,似乎并没有明确的区别。例如,我可能想存储侧边栏的状态(打开、浮动、固定等),它清楚地进入ui
。还有一些东西,比如应用程序栏标题,看起来也是纯粹的用户界面问题,尽管它们与视图中显示的数据有一些关系
接下来,我可能会有一个对象列表(例如联系人),可以从中选择我要跟踪选择的对象等。虽然这仍然与UI状态有关,但这些对象来自数据存储,我可能希望更改所选项目(例如,选择一个联系人,弹出一个对话框并编辑该联系人的姓名)
有什么硬性的规则或指导方针可以让我遵循,还是让我自己去做?我甚至懒得区分这两者。从变量名中可以清楚地看到
Issidebarpen
联系人
selectedContact
isLoading
我甚至懒得区分这两者。从变量名中可以清楚地看到
Issidebarpen
联系人
selectedContact
isLoading
将状态放置在应用商店中,而不是Redux应用程序中的UI中
这是一个主观问题,很难回答。不过,您可以遵循一些指导原则。对于这个话题,经验是最好的老师。话虽如此,最佳做法是:
在Redux存储中保存尽可能多的数据,除非这样做不方便
*应用程序中的组件共享的全局数据属于存储区,或以复杂方式发生变化。由于应用程序中的大多数状态都符合此标准,因此大多数状态都应该属于应用商店
通过遵循本指南并努力保持商店中的所有应用程序状态,您将遵守Redux原则。这一原则认为,
整个应用程序的状态存储在
一个单独的商店
全球重要的数据或可能以复杂方式发生变化的数据应处于状态。如果用户界面的多个部分使用数据,那么数据在全球范围内都很重要
只有一小部分不以复杂方式变化的数据才能进入ui
仅与UI的某个独立部分相关的临时数据,例如UI的某些部分是否被切换,可以进入UI。将状态放置在应用商店中,而不是在Redux应用程序中放置UI 这是一个主观问题,很难回答。不过,您可以遵循一些指导原则。对于这个话题,经验是最好的老师。话虽如此,最佳做法是: 在Redux存储中保存尽可能多的数据,除非这样做不方便 *应用程序中的组件共享的全局数据属于存储区,或以复杂方式发生变化。由于应用程序中的大多数状态都符合此标准,因此大多数状态都应该属于应用商店 通过遵循本指南并努力保持商店中的所有应用程序状态,您将遵守Redux原则。这一原则认为, 整个应用程序的状态存储在 一个单独的商店 全球重要的数据或可能以复杂方式发生变化的数据应处于状态。如果用户界面的多个部分使用数据,那么数据在全球范围内都很重要 只有一小部分不以复杂方式变化的数据才能进入ui 仅与UI的某个独立部分相关的临时数据(例如是否切换了UI的某个部分)可以进入UI