如何更新 Nuxt.js 中的 $auth.user 属性?

Fre*_* II 3 vue.js vuex nuxt.js nuxtjs

当我想更新时$auth.user.balance

methods:{
   test(){
      this.$auth.user.balance = 10;
   }
}
Run Code Online (Sandbox Code Playgroud)

但它返回错误:

Error: [vuex] do not mutate vuex store state outside mutation handlers.
Run Code Online (Sandbox Code Playgroud)

如何在 Nuxtjs 中更新这些 vuex 属性?

Rad*_*ard 7

Nuxt 提供$auth.setUser()了设置用户的方法。

$auth.setUser()像这样使用:

const updatedUser = {...this.$auth.user}
updatedUser.balance = 10;
this.$auth.setUser(updatedUser)
Run Code Online (Sandbox Code Playgroud)

存储中的数据更新始终应该是不可变的。

因此,在传递对象之前创建一个新的对象引用setUser以避免反应性问题。