首页 > 其他分享 >Vue面试题20:说一说你对Vuex的理解(总结自B站up主‘前端杨村长’视频,仅供自用学习)

Vue面试题20:说一说你对Vuex的理解(总结自B站up主‘前端杨村长’视频,仅供自用学习)

时间:2022-09-23 10:01:27浏览次数:62  
标签:状态 面试题 20 异步 up 视图 mutations state Vuex

  • 回答范例

    • 1(定义):Vuex是一个专为Vue应用开发的状态管理模式+库。它采用集中式存储,管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化;
    • 2(必要性):我们期待以一种简单的“单向数据流"的方式管理应用,即状态->视图->操作单向循环的方式;但当我们的应用遇到多个组件共享状态时,比如:多个视图依赖于同一状态或者来自不同视图的行为需要变更同一状态。此时单向数据流的简洁性很容易被破坏。因此,我们有必要把组件的共享状态抽取出来,以一个全局单例模式管理;通过定义和隔离状态管理中的各种概念并通过强制规则维持视图和状态间的独立性,我们的代码将会变得更结构化且易维护;这是vuex存在的必要性,它和react生态中的redux之类是一个概念,都是为了解决这一问题。
    • 3(何时使用):Vuex解决状态管理的同时引入了不少概念:例如state、mutation、action等,是否需要引入还需要根据应用的实际情况衡量一下:如果不打算开发大型单页应用,使用Vuex反而是繁琐冗余的,一个简单的store模式就足够了。但是,如果要构建一个中大型单页应用,Vuex基本是标配;
    • 4(个人使用感受):使用稍微有些繁琐,尤其是在模块嵌套时,调用状态时的命名空间使用起来就比较容易混淆(子模块需要用点,全局状态则不需要);
  • 可能的追问:Vuex中mutation和action的区别是什么?

    • vuex中的state数据不允许直接修改,所以引入了mutations用于定义方法来修改state中的数据,但是只能同步修改;如果异步修改会造成调试工具跟实际数据不对应,所以vuex又引入了actions,用于异步触发mutations中的方法;总的来说:mutations中的方法可以直接修改state数据,而actions是异步执行mutations中的方法,所以它都可以改数据,区别是一个是同步一个是异步。

标签:状态,面试题,20,异步,up,视图,mutations,state,Vuex
From: https://www.cnblogs.com/Mochenghualei/p/16721674.html

相关文章