Vuex 学习4 - 核心概念Mutation

本文详细介绍了Vuex中的Mutation核心概念,包括提交载荷、对象风格提交、遵循Vue响应规则、使用常量、同步函数要求,以及在组件中如何提交Mutation。强调Mutation必须是同步函数以确保状态变化可追踪,同时提供了Mutation的使用示例。
摘要由CSDN通过智能技术生成

Mutation

教程来自 Vuex 官网:https://vuex.vuejs.org/zh/guide/mutations.html

更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。Vuex 中的 mutation 非常类似于时间:每个 mutation 都有一个字符串的 事件类型和一个回调函数。这个回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数:

const state = {
   
    count: 1,
    todos: [
        {
    id: 1, text: '第一个数组值', done: true },
        {
    id: 2, text: '第二个数组值', done: false },
    ]
};

const mutations = {
   
    add(state) {
   
        state.count ++;
    },
    reduce(state) {
   
        state.count --;
    }
}

你不能直接调用一个 mutation handler。这个选项更像是事件注册:“当触发一个类型为 add 的 mutation 时,调用此函数。”要唤醒一个 mutation handler,你需要以相应的 type 调用 store.commint 方法:

// 在单页面组件中
$store.commit('...');
// 导入 store 之后
store.commit('...')

提交载荷(Payload)

你可以向 store.commit 传入额外的参数,即 mutation 的载荷

mutations: {
   
    add (state, n) {
   
        state.count += n;
    }
}
// 单页面组件中
$store.commit('add', 5)
// 导入 store
store.commit('add', 5)

对象风格的提交方式

提交 mutation 的另一种方式是直接使用包含 type 属性的对象:

store.commit({
   
    type: 'add',
    amount
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值