美文网首页
用vuex管理页面数据(与redux)

用vuex管理页面数据(与redux)

作者: gonabe | 来源:发表于2016-10-14 22:34 被阅读0次

概述

vuex借鉴了flux、redux的设计思想,将应用的状态和组件内状态进行了区分,将应用的公共状态汇聚到了一处统一管理,避免了组件之间的状态传递。使的复杂应用的状态变更更加清晰。

State

应用的总体状态树,一个object对象

Getter

个人觉得Getter不是必须的,可用vue的计算属性代替,设置Getter是为了方便计算属性的复用

Mutation

vuex中推荐的改变state的唯一的地方,类似于redux的reducer,不同的是mutation中不需要return一个新的状态对象,vuex内部对state设置了getter和setter,在mutation中直接设置属性的变更即可。

Action

个人觉得Action也不是必须的,文档中强调了action可以用来处理一些异步操作,但其实异步操作可以直接写在应用中或任何地方,只需在适当的时候触发store.commit('increment')即可

事件触发周期

用户触发事件修改页面状态会经过以下几个步骤:
1.dispatch一个action
2.action中做一些(异步)处理,触发commit
3.mutation中接受提交的commit判断type,并根据传来的数据以及之前的state,对state进行更新
4.更新完,getter中捕获更新事件,返回新值供vue组件进行渲染。

Plugin、Modules

此外vuex还提出了modules的概念,用来拆分全局状态
Plugin类似于redux的middleware,用来提供状态变更的钩子,以方便对变更的状态进行一些批量处理,something like log etc..

与react-redux的区别

react-redux,的全局数据流是通过每个组件的props逐层传递到各个子组件的。
vuex 的全局数据则是通过getter集成到了框架内部,每个全局属性并非逐层传递到子组件,而是通过数据绑定的方式直接连接到各子组件。

相关文章

  • 用vuex管理页面数据(与redux)

    概述 vuex借鉴了flux、redux的设计思想,将应用的状态和组件内状态进行了区分,将应用的公共状态汇聚到了一...

  • 8 - Redux 简介

    简介 Redux 是 JavaScript 状态管理器。跟 Vuex 很相似,但又不同于 Vuex。 Redux ...

  • 学习笔记-浏览器内多个标签页之间的通讯

    学习笔记-浏览器内多个标签页之间的通讯 Redux vuex 这个是单页面应用里跨页面状态管理 多页应用 跨页面数...

  • vuex让页面响应更简单,一看就懂系列

    在单页面组件的开发中 Vue的vuex和React的Redux 都统称为同一状态管理,就是所谓的全局状态管理;简单...

  • Flutter redux 使用与理解

    Flutter 状态管理redux 方案理解与实践 redux 数据管理方式来自 react ,React 的数据...

  • redux

    redux: react中的状态管理工具 相当于vue中的vuex redux官方文档:https://redux...

  • Redux

    redux: react中的状态管理工具 相当于vue中的vuex redux官方文档:https://redux...

  • react redux

    redux: react中的状态管理工具 相当于vue中的vuex redux官方文档:https://redux...

  • vue页面跳转,涉及到vuex的数据更新

    1 业务需求: 跳转到详情页面时,需要另开一个窗口,使用vuex管理数据。 2 问题阐述: vuex会因为页面刷新...

  • Vuex 2.0

    概念 Vuex 类似 Redux 的状态管理器,用来管理Vue的所有组件状态。 为什么使用Vuex? 当你打算开发...

网友评论

      本文标题:用vuex管理页面数据(与redux)

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