千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  应聘面试  >  html5面试题  > 状态管理器的数据走向是什么

状态管理器的数据走向是什么

来源:千锋教育
发布人:qyf
时间: 2022-11-16 17:02:04 1668589324

状态管理器的数据走向是什么

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

  二、为什么需要状态管理? 状态共享,组件之间通常会有一些共享的状态,在 Vue 或者React中我们一般会将这部分状态提升至公共父组件的props中,由父组件来统一管理共享的状态,状态的改变也是由父组件执行并向下传递。

  这样会导致两个问题:

  - 需要将共享的状态提升至公共的父组件,若无公共的父组件,往往需要自行构造

  - 状态由父组件自上而下逐层传递,若组件层级过多,数据传递会变得很冗杂,变化跟踪在应用调试过程中,可能会有跟踪状态变化过程的需求,方便对某些应用场景的复现和回溯。这时候就需要统一对状态进行管理,并遵循特定的约定去变更状态,从而让状态的变化可预测。

  三、单项数据流因为在真实项目开发过程中,Store状态管理器中的数据会在很多组件中用到,如果不设定一个统一的规范去管理数据,最终将会导致数据混乱、使得项目变得难以维护。

  所以vuex状态管理器设计了如下几个核心api,与视图之间进行交互配合:

  - state vuex提供的,用以集中存储共享的数据。

  - mutations vuex提供的,专门用以触发state数据变化的方法集,并且要求mutations的方法执行结果必须时可预测的,在其内部不能出现异步请求等不可预测的逻辑。

  - actions vuex提供的,专门用于让vuex进行异步请求处理的方法集,可选择使用。

  - view 视图层,整个项目组件的代称,我们在此处消费状态管理器提供的数据、方法。 数据走向必须遵循单向数据流的规范:

  1. 当我们初始化使用状态机数据时的流程是store---->state----> view

  2. 当组件内部想要本地更新状态管理器的数据,其流程是

  view触发---->mutations---->state---->store---->view更新

  3. 当组件内部想要在异步请求后,再更新本地状态管理器的数据,其流程是

  view触发---->actions---->mutations---->state---->store---->view更新

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT