NGXS 状态功能

NGXS State Functionality

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

请解释 NGXS 中状态的确切用法

tldr; 当您从数据库(或 REST api 更有可能)检索信息时,您必须以某种方式对其进行管理,以便您的组件可以向用户显示 'view' 数据。我喜欢 CQRS 模式,尤其是 NGXS 的地方在于状态管理方式的统一性以及影响数据及其使用位置的事件之间的解耦程度。

这是一个示例 - 假设您有 10 个主要实体由您的应用程序操作,它们来自您的用户 authenticated/authorized 访问的一个或多个 REST api。用户注销。如果您在 10 个单独的服务中管理状态,则必须在每个服务中处理注销。在 NGXS 中,您发送注销操作并让所有状态容器侦听该事件并采取相应的操作。

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