vuex的使用和理解

本文介绍了Vuex的工作流程,强调其用于解决组件间数据共享问题。组件通过dispatch触发Actions,Actions通过commit提交Mutations,改变State状态,最终影响子组件渲染。搭建Vuex框架涉及创建store文件夹,包括index.js、actions.js和mutations.js。Vuex的核心包括State(唯一数据源)、Getters(派生状态)、Mutations(同步变更状态)和Actions(包含异步操作)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vuex工作流程图:vuex旨在用于没有任何关系的组件之间共享数据或传值。

在这里插入图片描述

这图的执行顺序是这样的:

组件(Vue Component)通过Dispatch触发Actions里面的动作;

Actions通过Commit提交Mutations

Mutations注册事件,通过这些事件来改变State的状态

最后State状态改变完后渲染到另一个子组件上

在执行之前,首先要搭建框架,创建store文件夹,子文件有index.js,actions.js和mutation.js, index.js作为入口,分别import(引入)actions.js和mutation.js,并定义一个state,用于存储组件之间共享的数据。最后,index.js需要引入到根入口main.js中去。
我们知道vuex的作用就是组件之间共享数据,那么,调用派发方法dispatch(‘方法名’,‘值’)的组件就是要向其他组件传递数据的起始组件,最后渲染的组件就是接收这个共享数据的组件。例如在登录页面的用户名username,最后要渲染到NavHeader组件当中去,就要把login中获取的username保存到vuex中去,在NavHeader组件通过$store.state.username来获取。
注意的一点,负责派发的组件中diapatch(‘方法名’,‘参数’)与action.js中context.commit(‘方法名’,‘参数’),这两个参数不必保持一致,方法名保持一致即可。

什么是vuex?

官方的解释: Vuex是一个专为Vue.js应用程序开发的状态管理模式

当项目比较庞大的时候,每个组件的状态比较多,为了方便管理,需要把组件中的状态抽取出来,放入Vuex中进行统一管理。常用的登录,购物车等一下数据的存储

State:唯一的数据源,我们需要把任何一个组件中需要抽取出来的变量放入到state中去

Getters:通过Getters可以派生出一些新的状态

Mutations:更改Vuex的store中的状态的唯一方法时提交mutation

Actions:Action提交的是mutation,而不是直接变更状态。Action可以包含任何的异步操作, 但mutation必须是同步操作。

操作步骤: 当组件中的状态发生改变,通过dispatch函数提交到Action,Actions再通过Commit函数提交到Mutations, 此时,状态发生改变都会实时的去渲染组件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值