Vuex统一使用同一个mutations控制value可行性
发布于 4 年前 作者 feer 1504 次浏览 来自 问答
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利

使用vuex时,为了更改state而使用mutations

常常会有很没意义的设置,10个有9个都长这样:

const store = new Vuex.Store({
  state: {
    ww: 0,
    wh: 0,
    ws: 0,
    menuOpen: false,
    ...
  },
  mutations: {
    WINDOW_WIDTH_SET (state, val) {
    	state.ww = val
    },
    WINDOW_HEIGHT_SET (state, val) {
    	state.wh = val
    },
    WINDOW_SCROLL_Y_SET (state, val) {
    	state.ws = val
    },
    MENU_OPEN_SET (state, val) {
    	state.menuOpen = val
    },
    ...
  }
});

如果是这种形式,改成:

const store = new Vuex.Store({
  ...
  mutations: {
    STATE_SET (state, {key, val} ) {
    	state[key].val
    }
    ...
  }
});

全部使用 STATE_SET 是不是性能比较好?
这样使用上会有什么缺点吗?

回到顶部