不要在 mutation 处理程序之外更改 Vuex 存储状态 - Vuetify snackbar
创始人
2025-01-11 01:00:12
0

在使用 Vuex 存储状态时,我们应该遵循 Vuex 的规则,即不要在 mutation 处理程序之外更改状态。这是因为 Vuex 的状态是响应式的,只有通过 mutation 来更改状态才能确保状态的一致性和可追踪性。

以下是一个使用 Vuetify snackbar 的示例,展示了如何正确地在 mutation 处理程序内更改 Vuex 的状态:

  1. 首先,定义一个名为 store.js 的 Vuex store:
import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

export default new Vuex.Store({
  state: {
    snackbar: {
      show: false,
      message: '',
      color: ''
    }
  },
  mutations: {
    showSnackbar(state, { message, color }) {
      state.snackbar.show = true;
      state.snackbar.message = message;
      state.snackbar.color = color;
    },
    hideSnackbar(state) {
      state.snackbar.show = false;
    }
  },
  actions: {
    showSnackbar({ commit }, { message, color }) {
      commit('showSnackbar', { message, color });
      setTimeout(() => {
        commit('hideSnackbar');
      }, 3000);
    }
  }
});
  1. 在你的组件中,可以通过调用 this.$store.dispatch 方法来触发 action,然后在 action 中调用 mutation:



在上述示例中,当点击按钮时,会触发 showSnackbar 方法,该方法会调用 showSnackbar action,并传递消息和颜色参数。在 action 中,我们首先调用 commit 方法来触发 showSnackbar mutation,然后使用 setTimeout 设置一个定时器,在3秒后触发 hideSnackbar mutation 来隐藏 snackbar。

这样,我们就在 mutation 处理程序内正确地更改了 Vuex 的状态,而不是在 mutation 处理程序之外进行更改。

相关内容

热门资讯

透视教程!wepoker底牌透... 透视教程!wepoker底牌透视脚本下载,pokemmo辅助官网,wepoke教程(都是存在有挂);...
透视肯定!wepoekr底牌透... 透视肯定!wepoekr底牌透视,aapoker透视软件,推荐攻略(有挂黑科技)1、每一步都需要思考...
透视安卓版!aapoker辅助... 透视安卓版!aapoker辅助工具存在吗,拱趴大菠萝作弊方法,力荐教程(真是存在有挂);wpk透视辅...
透视系统!智星菠萝辅助,hhp... 透视系统!智星菠萝辅助,hhpoker透视下载链接在哪里,如何分辨真伪(有挂方法)1、起透看视 hh...
透视透视!aapoker免费透... 透视透视!aapoker免费透视脚本,hhpoker软件靠谱吗,新2025教程(先前有挂);免费aa...
透视好友!智星德州菠萝插件官网... 透视好友!智星德州菠萝插件官网,aapoker辅助器是真的吗,2024教程(有挂技巧);是一款可以让...
透视智能ai!wpk有没有脚本... 透视智能ai!wpk有没有脚本,德扑圈透视,详细教程(往昔真的是有挂);建议优先通过wpk有没有脚本...
透视实锤!hhpoker透视脚... 1、透视实锤!hhpoker透视脚本安卓,wepoker辅助器怎么用,揭秘关于(有挂攻略);该软件可...
透视了解!wepoker辅助器... 【福星临门,好运相随】;透视了解!wepoker辅助器下载,佛手大菠萝有挂吗,攻略教程(先前真的有挂...
透视美元局!aapoker透视... 自定义aapoker透视插件下载系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅...