NGXS状态功能

时间:2018-07-23 09:16:27

标签: angular ngrx ngxs

假设我们保存信息并从数据库中检索信息(可能会被多个用户更改),并在每次保存和检索操作中更新状态。状态的用途是什么?何时使用状态?例如:当多个用户使用应用程序时,更新数据库中项目的数量。

请解释在NGXS中状态的确切用法是什么

1 个答案:

答案 0 :(得分:2)

tldr; 从数据库(或更可能是REST API)检索信息时,必须以某种方式进行管理,以便组件可以向用户显示数据的“视图”。我特别喜欢CQRS模式和NGXS,它是管理状态的统一性以及影响数据使用的事件之间的去耦级别。

这里是一个例子-假设您有10个主要实体,您的应用程序可以操纵这些实体,它们来自一个或多个经过身份验证/授权访问的REST API。用户注销。如果在10个单独的服务中管理状态,则必须处理每个服务中的注销。在NGXS中,您将调度注销操作,并让所有状态容器侦听该事件并采取相应的措施。

用Observables表示状态意味着您可以在一个地方更改数据(一个动作),现在正确的事情将在组件树中发生。假设您要显示项目列表,列表中的选定项目以及选定的子项目。如果操作更新了表示列表的状态,则观察到该列表的所有组件都会自动更新它们。