前段状态管理的自我认知
1、什么是状态管理
一个简单的点击加一例子
这里有三个东西需要介绍
- 状态:状态就是我们在代码里的驱动数据,这里的数字就属于状态
- 视图:我们所看到的就是视图
- 交互:这里点击事件就是交互
所以整个流程就是这样的
数据==生成==>视图==提供==>交互==改变==>状态==更新==>视图
最后形成了一个闭环
借用vue官网的图片就是这个样子
这个就是简单的状态管理。
为什么需要状态管理
为什么需要状态管理或者说为什么需要状态管理工具?
个人认为主要是以下两方面问题:
- 现如今流行的量大前端框架Vue 和 React 都是单向数据流,组件之间的数据流向默认情况下只能从父组件流向子组件。
- 单组件的状态管理可以在组件内部实现,但是多组件的状态管理,多个组件依赖同一个状态,组件之间数据通信就必须通过单项数据流去访问,这样一来组件之间的逻辑会看起来很混乱,不易于维护,管理,阅读,代码复用性也会提高,因此诞生了状态管理工具,通过状态管理工具进行管理。
绝大部分状态管理工具原理
先上图
绝大多数工具是所有的状态和交互逻辑放在了一个store里面,很像计算机网络里面的Bus(总线)通信。所有的组建通过store取出state,渲染view,然后通过store里面的action来更新view。
就像图中 component1,2,3都依赖state1,那么他们都从store里面取state1来渲染页面,3个组件的状态更新都通过action1,这样子的好处:1、代码逻辑更加清晰,易于维护,提高可读性2、共用一个action可降低代码重复性3、共用一个action更方便拦截,修改、管理。
到这里,仅个人短见,欢迎发表意见