Angular 在角度应用中,状态意味着什么?

Angular 在角度应用中,状态意味着什么?,angular,rxjs,ngrx,Angular,Rxjs,Ngrx,我是NgRx的新手,正在浏览其文档。但是,在开始时,我遇到了以下句子: 状态是一个单一的、不可变的数据结构 用简单的话来说,国家意味着什么?需要一些简单的例子来理解这个概念 我需要学习Flux和Redux来理解这些概念吗?简单地说,ngrx(或Redux,或其他状态管理系统)中的状态是如何在单个时间点描述系统的 您可以将其视为一个简单的javascript对象,在某一点上表示整个应用程序。让我们举一个简单的例子: todo>代码> S应用程序,在这里我可以标记一个已完成的项目(通过完成的标志)或

我是NgRx的新手,正在浏览其文档。但是,在开始时,我遇到了以下句子:

状态是一个单一的、不可变的数据结构

用简单的话来说,国家意味着什么?需要一些简单的例子来理解这个概念


我需要学习Flux和Redux来理解这些概念吗?

简单地说,ngrx(或Redux,或其他状态管理系统)中的状态是如何在单个时间点描述系统的

您可以将其视为一个简单的javascript对象,在某一点上表示整个应用程序。让我们举一个简单的例子:<代码> todo>代码> S应用程序,在这里我可以标记一个已完成的项目(通过完成的标志)或选定的项目(按索引)。可能的状态可能如下所示:

{
  items: [
    { text: 'Wash Car', completed: false},
    { text: 'Write Code', completed: true}
  ],
  selectedIndex: 0
}
{
  items: [
    { text: 'Wash Car', completed: false},
    { text: 'Write Code', completed: true}
  ],
  selectedIndex: 1
}
如果我决定选择第二个索引,我的状态未来状态将如下所示:

{
  items: [
    { text: 'Wash Car', completed: false},
    { text: 'Write Code', completed: true}
  ],
  selectedIndex: 0
}
{
  items: [
    { text: 'Wash Car', completed: false},
    { text: 'Write Code', completed: true}
  ],
  selectedIndex: 1
}
因此,状态是应用程序逻辑在单个时间点的表示。视图实现由您决定-角度、反应和移动应用程序可以共享相同的状态并使用不同的视图层

一些状态管理系统要求状态为,这意味着在
todos
示例中,我不会简单地更改状态,而是创建一个完整的新状态来表示系统中的更改。

这是有原因的,但可能最明显的是,这种质量有助于web系统识别状态的变化,并相应地改变视图

NgRx是一个角度特定的状态管理系统。如第页所述:

NgRx商店为受Redux启发的角度应用程序提供反应式状态管理

因此,一个好的状态点是学习redux(不变性规则来自redux)。您可以将NgRx视为基于redux的状态管理,使用RxJS供电。我建议拼命学习每一个概念,然后开始学习NgRx

更新:这些问题可能有用


  • 谢谢这将帮助我在NgRx起步。