在 Vue3 中更改根状态停止工作

In Vue3 changing root state stopped working

我更改根状态的突变停止工作

 SET_STATE(state, payload) {
    state = { ...state, ...payload };
 }

但改变内在价值是有效的

SET_INNER_STATE(state, payload) {
   state.inner = payload;
}

这个state = ...改变状态局部变量(参数),它不会影响这个函数之外发生的任何事情。

{ ...state, ...payload } 不应该在 Vue 中完成,因为它不像 React 那样强制不可变状态。

初始状态通常应在商店初始化时设置。如果由于某种原因稍后发生,则应将其合并到现有状态对象中。浅合并可以是:

Object.assign(state, payload);