gpt4 book ai didi

Vuex:为什么我们不能影响整个状态对象?

转载 作者:行者123 更新时间:2023-12-04 18:21:39 25 4
gpt4 key购买 nike

我的商店中有一个 RESET 突变,它将状态对象重置为其默认值:我找到的解决方案是 Object.assign(state, defaultState)使其工作而不是 state = defaultState .影响 =对特定属性有效,但不适用于整个状态对象。

工作 :

RESET: (state) => {
Object.assign(state, defaultState);
}

不工作:
RESET: (state) => {
state = defaultState;
}

最佳答案

这是由于 js 的工作方式。当您使用 = 设置新对象时它是一个全新的对象,在内存中具有新地址,因此 vuex 不再知道如何跟踪它。

当您使用 Object.assign(state, defaultState); ,它本质上保持相同的对象,它只是将属性设置为新值。

关于Vuex:为什么我们不能影响整个状态对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47871046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com