web 应用状态管理
1 min read

web 应用状态管理

组件化是可维护性的良好实践,目前讨论的状态管理均基于组件化的背景。

状态内聚

状态内聚是主要的状态管理方式,应当作为状态管理的第一原则。组件状态内聚,不依赖全局状态,通过入参方式接受外部状态。

这样做的好处在于:

  • 组件无全局依赖,可以随意的各处复用或者调整位置
  • 状态内聚,可以随意的重构组件内部

跨多层级状态传递

当严格按照入参方式接收外部状态时,遇到层级多的情况,一般开发者就会有困惑,需要层层的参数传递,变的编码比较繁琐。当然有很多全局状态共享的方式,但是建议尽量遵循"状态内聚"的基本原则,有如下原因:

  • 一般组件的层级最深在3-4级左右,再深时可以考虑组件是否可以上移
  • 组件的入参是组件自身行为的描述,不一定需要那么多的外部祖先组件的状态,当完全依赖祖先组件传参时,就需要考虑入参设置是否合理

React官方文档中 使用 Context 之前的考虑 也论述的相似的观点。