Angular状态管理框架NgRx

NgRx : Reactive State for Angular ,是一款集成RxJS的Angular状态管理库。
它和Redux的核心思想相同,但使用RxJS实现观察者模式。它遵循Redux核心原则,但专门为Angular而设计。

状态管理

什么是状态管理?

状态管理就是把组件之间需要共享的状态抽取出来,遵循特定的约定,统一管理,让状态的变化可以预测。

什么时候用状态管理?

跨级组件

//page
//

和 组件进行通信时,可以把他们通用的组件状态抽出来,放到state里面,用action去管理。

某一个或n个状态被其子组件以及后代组件使用

//page
page=>component1=>component1.1=>....

某一个或n个状态被其子组件以及后代组件使用的情况,可以考虑使用状态股那里来解耦,可以时代码更加简洁,便于维护。

状态管理解决了什么?

最主要的就是解耦,把组件与组件之间的复杂关系解耦为数据与数据的关系,组件仅作单纯的数据渲染。

状态管理带来了新的问题?

由于这样处理使得单个组件复杂度提高,但相比整个项目的复杂度降低和代码便于维护来讲也是可以接受的。

状态管理与本地缓存

状态管理存储的数据是响应式的,并不会保存起来,刷新页面之后会回到初始状态。

解决办法:
在状态管理中数据改变的时候把数据同时保存到本地缓存中(localstorge),刷新页面之后,如果本地缓存理由保存的数据,取出来替换store里的state。

ts配置别名:在compilerOptions中添加字段paths来进行声明映射

 "paths":{
      "@/*": ["src/app/*"]     //之后使用@/就相当于使用src/app/
    }

你可能感兴趣的:(前端小技巧)