VUEX-action可以修改state吗
一幅图看清只能通过mutation修改state的原因commit函数源码如下this._withCommit来修改state,其源代码如下其中_withCommit函数的参数fn是修改state的函数,在执行fn函数前,将this._committing置为true,理由是在源代码的251行resetStoreVM函数中判断严格模式的代码,如下:当 vuex设置为严格模式, 执行enableStrictMode函数, 源码如下:当store._committing不为true,就会报出异常。综上所述,经测试得知可以修改并修改成功,但是严格模式下控制台会抛异常且action是异步的,不方便DevTool 调试我们开发要严格按照官方文档开发,避免不必要的错误产生。
用户评论