Vuex:如何将状态中的对象设置为空?

问题描述 投票:0回答:1

我有一个Vuex商店,里面有一个叫做 user 对象的状态。

在我的注销操作中,我或多或少地调用了这样的东西。

context.commit('setUser', null);

我的突变本质上是调用 state.user = null (不是字面上的意思,只是在这个例子中),但是当我立即打电话给 console.log(state.user)貌似什么都没发生。

什么是 "正确 "的方法来完全清除一个状态中的对象?

vue.js vuex
1个回答
0
投票

我发现了自己的问题。在我的 setUser 突变,我在检查 if (typeof user === 'object') { ... } 才执行基于对象的逻辑。好吧,事实证明 typeof null 实际上是评价为 "object" 这完全不是我所期望的。今天我知道了JS很奇怪。

我已经把我的支票更新为 if (user === null && typeof user === 'object').

© www.soinside.com 2019 - 2024. All rights reserved.