NgRX 介绍
NgRx : Reactive State for Angular ,是一款集成RxJS的Angular状态管理库。
它和Redux的核心思想相同,但使用RxJS实现观察者模式。它遵循Redux核心原则,但专门为Angular而设计。
状态管理
什么是状态管理?
状态管理就是把组件之间需要共享的状态抽取出来,遵循特定的约定,统一管理,让状态的变化可以预测。
什么时候用状态管理?
跨级组件
//page
<div>
<component-a /> // <component-a-child />
<component-b />
</div>
和 组件进行通信时,可以把他们通用的组件状态抽出来,放到state里面,用action去管理。
某一个或n个状态被其子组件以及后代组件使用
//page
page=>component1=>component1.1=>....
某一个或n个状态被其子组件以及后代组件使用的情况,可以考虑使用状态股那里来解耦,可以时代码更加简洁,便于维护。
状态管理解决了什么?
最主要的就是解耦,把组件与组件之间的复杂关系解耦为数据与数据的关系,