美文网首页
关于对Vuex的几个疑惑点

关于对Vuex的几个疑惑点

作者: 卓三阳 | 来源:发表于2018-08-13 09:25 被阅读73次

vuex官网
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

Vuex 和单纯的全局对象有以下两点不同:

  1. Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。
  2. 你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。
vuex状态的管理

单一的状态树
Vuex使用的是单一的状态管理,一个仓库store包含了项目中所有的数据,每一个应用都只包含一个store实例,单一的状态树可以让我们更加直接定位到对应的数据源。
单一的状态树和一切皆模块的思想并不冲突----通过vuex的模块化机制来管理和分布到各个文件中。


疑惑点1-vuex的使用场景和作用?

在相对独立的组件中,action -> state -> view的单向数据流能得到保证。而真实业务场景经常需要状态传递及共享。vuex解决了几个问题:

1.组件之间的数据通信(主要是非父子组件之间)
2.使用单向数据流的方式进行数据的中心化管理(数据的共享和缓存等等)

为什么要解决这样的问题呢?其实是因为当程序逻辑过于复杂的时候,非中心化的数据管理会让整个 app 的逻辑非常混乱。我们可以把它当成内存数据库来使用。

总而言之,假如你需要数据和组件分离,分别处理,那么使用 Vuex 是非常合适的


疑惑点2-为什么vuex的状态修改要通过mutations,而不直接赋值

官网对状态修改的要求
更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。Vuex 中的 mutation 非常类似于事件:每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。

官网对状态修改的解释
我们通过提交 mutation 的方式,而非直接改变store.state.count,是因为我们想要更明确地追踪到状态的变化。这个简单的约定能够让你的意图更加明显,这样你在阅读代码的时候能更容易地解读应用内部的状态改变。此外,这样也让我们有机会去实现一些能记录每次状态改变,保存状态快照的调试工具。有了它,我们甚至可以实现如时间穿梭般的调试体验。
总结起来两点:

1.简单约定,让我们的意图更加明显
2.提交 mutation的方式vuex会记录到状态的变化,为了能用 devtools 追踪状态变化

相关文章

  • 关于对Vuex的几个疑惑点

    vuex官网Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状...

  • 关于江青的几个疑惑

    看一篇关于文革的文章时突然想到了江青,这个曾经搅动中国十几年历史的人物,在当今世人看来还是有很多谜团的。为了解开这...

  • 关于点赞的疑惑

    简友们,我现在有一点问题,关于简书钻的。 1. 我给别人点赞我也会有收益吗? 2. 是给点赞多的文章点赞收益高,还...

  • Vuex在Vue工程的正确使用

    关于vuex,我们听到最多的是vuex是一个状态管理容器,可以解决组件之间通信的痛点。但vuex真的只是这样吗? ...

  • 你必须知道的vuex的知识点

    关于vuex必须知道里面的这几个属性: state,actions,getters,mutations,sette...

  • 33、vuex初探(一)

    前言:前面已经为了这章做了一点铺垫了,关于vuex也有很多读者私信我关于这方面的问题,其实vuex也很简单,今天我...

  • 关于一点疑惑

    一 大概大家都不想看到自己喜欢的人贬低自己。 设身处地,最了解自己的也只有自己,正是了解自己,才会更无助,乐观的时...

  • vuex中commit和dispatch

    当我们创建一个vuex时候,也就是创建一个store实例。我们使用vuex其实也就是对store实例的使用 关于m...

  • 初识vuex

    1、使用前需要在项目中安装一下vuex 2、需要了解一下vuex是什么以及vuex提出的几个概念 (1)、vuex...

  • 4.Vuex

    vuex官网 现在将 vuex 整合到我们的 vue-complex 应用中 有关于vuex的详细介绍 ,可以看看...

网友评论

      本文标题:关于对Vuex的几个疑惑点

      本文链接:https://www.haomeiwen.com/subject/ngarvftx.html