vuex - 在 Vuex 中深度克隆/取消绑定对象的正确方法是什么
问题描述
我不断收到“[vuex] 不要在突变处理程序之外改变 vuex 存储状态”。我的应用程序错误。当我在组件中使用 getter 时,我通过解构 getter 来解决它,例如:
const user = {
...this.$store.getters["Users/getUser"]
};
但有时,当我需要在 Vuex 操作中使用我的商店状态时,唯一要“取消绑定”对象的方法是使用 JSON.parse(JSON.stringify(state.something)),因为解构仍然会返回 Vuex 突变错误,使用 JSON.stringify 和 JSON.parse 可能是错误的方式:
setActiveUser({ commit, state }, payload) {
return new Promise((resolve, reject) => {
let newUser = JSON.parse(JSON.parse(state.user))
etc
});
}
解除绑定状态的正确方法是什么?
谢谢你。
解决方案
推荐阅读
- python - 如何从我的本地计算机(client.py)发送一个简单的 UDP 消息到远程服务器 pythonanywhere(server.py)
- javascript - 如何从js文件访问json文件数据
- javascript - 正则表达式:用 Javascript/Node 替换 Markdown 字符串中的相对图像 url
- cordova - Ionic 5 - chrome://inspect 看不到 webpack 文件夹
- ios - 在范围内找不到“FirebaseApp” - Xcode Swift
- html - 如何在语义 UI 中将反转的菜单项向左移动?
- azure - 使用证书授予应用程序对 Azure Key Vault 的访问权限
- android - Jetpack Compose LazyVerticalGrid 口吃
- ajax - 当用户在 WooCommerce 购物车和结帐页面上选择本地取货方式时,使用 ajax 添加通知
- amazon-web-services - 如何防止某人在 Amazon SES 中使用我的域——他们使用不同的电子邮件地址从我的域发送电子邮件