我有一个Vuex商店,其中有一个user
对象处于状态。
在注销操作中,我或多或少都这样称呼:
context.commit('setUser', null);
我的变异实际上调用了state.user = null
(实际上并不是在这种情况下),但是当我立即调用console.log(state.user)
时,看起来什么也没发生。
完全清除处于状态的对象的“正确”方法是什么?
答案 0 :(得分:0)
我想出了自己的问题。在我的setUser
变异中,我在执行基于对象的逻辑之前正在检查if (typeof user === 'object') { ... }
。好吧,事实证明typeof null
实际评估为"object"
,这与我所期望的完全不同。今天我得知JS很奇怪。
我已将支票更新为if (user === null && typeof user === 'object')
。