使用状态管理器时,我们是不是需要在组件中存储额外的数据?
Posted
技术标签:
【中文标题】使用状态管理器时,我们是不是需要在组件中存储额外的数据?【英文标题】:When using state manager, Do we need to store additional data in components?使用状态管理器时,我们是否需要在组件中存储额外的数据? 【发布时间】:2019-10-26 16:51:08 【问题描述】:当在 Angular 中使用状态管理器时,是否意味着所有组件类属性都是选择器? 如果没有,决定什么在 store 中存储以及在组件类属性中存储什么的指导方针是什么?
【问题讨论】:
【参考方案1】:我建议您查看一些有关 Smart vs Dumb 组件的资源。使用状态管理器时,您可以很好地应用此架构。看看一篇好文章Smart Components vs Presentational Components。 在 Angular 中,人们称它们为容器与组件。
为了快速参考,在表示层和域层之间分离组件。
域层组件称为容器,可以访问状态管理器。它们控制状态的管理方式。容器将所需的数据传递给表示组件,并在来自它们的事件发射器的帮助下,容器修改域状态。
Presentation Layer它们被简单地称为组件,它们是愚蠢的,它们无权访问状态管理器。他们所能做的就是在 Input 的帮助下从容器或其他组件中获取数据。输出有助于将事件传递给容器,以便容器可以修改状态。哑组件也可以有自己的私有状态,这有助于保持正确的 UI 状态。
【讨论】:
您能否更明确地说明我的问题与 Smart/Dumb 组件之间的联系。你的意思是智能组件只有选择器,而哑组件只有输入和附加属性?以上是关于使用状态管理器时,我们是不是需要在组件中存储额外的数据?的主要内容,如果未能解决你的问题,请参考以下文章