vuex 和 redux的区别

vuex 和 redux的区别

Vuex和Redux都是用来作全局状态管理的,由于Vuex和Redux都是从Flux中衍生出来,同时Vuex对Redux部分思想也有一些借鉴,所以Vuex和Redux有很多相同点。 其中,redux是一个范用的库,可以单独使用。而vuex是专门用来配合vue使用的。

1、vuex

  1. state 存储状态

  2. getters 是状态的计算属性,状态改变自动会重新计算 。

  3. mutations 同步更改状态。

  4. actions 发送异步请求,拿到数据

    请添加图片描述

    工作流程:

    (1)通过dispatch去提交一个actions,
    (2) actions接收到这个事件之后,在actions中可以执行一些异步|同步操作,根据不同的情况去分发给不同的mutations,
    (3)actions通过commit去触发mutations,
    (4)mutations去更新state数据,state更新之后,就会通知vue进行渲染

2、redux

  1. state 存储状态
  2. reducer 改变 state 的唯一方法,必须为纯函数,判断 action 的type相应更新state。每次 reducer 都是返回一个全新的 state。
  3. action 传递type和payload参数 。
  4. dispatch 的作用是驱动状态进行修改。

请添加图片描述

工作流程 :

  • View在redux中会派发action方法
  • action通过store的dispatch方法会派发给store
  • store接收action,连同之前的state,一起传递给reducer
  • reducer返回新的数据给store
  • store去改变自己的state

3、主要区别

(1)区别

可以通过下图进行区分

在这里插入图片描述

Vuex 改进了 Redux 中的 Action 和 Reducer 函数,以 mutations 变化

函数取代 Reducer,无需 switch,只需在对应的 mutation 函数里改

变 state 值即可

Vuex 由于 Vue 自动重新渲染的特性,无需订阅重新渲染函数,只要

生成新的 State 即可

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值