Vue3,Vuex 不更新 DOM 元素

Vue3, Vuex does not update DOM element

我正在尝试使用 Vue3 和 Vuex 制作一个简单的计数器应用程序。
这可能是一个简单的问题,因为我是 Vue 的新手。

我通过 Vue 开发工具和控制台检查了 Vuex 突变是否正常工作。
当我点击增加按钮时它会增加计数器。
但是,我找不到我的 DOM 没有更新的原因。

任何简单的回答都会对我有很大的帮助

目录


这是我的代码

// App.vue
<template>
  <img alt="Vue logo" src="./assets/logo.png">
  <div class="counter">
    {{$store.state.counter}}
  </div>
  <div class="buttons">
    <button @click="increment">+</button>
    <button @click="decrement">-</button>
  </div>
</template>

<script>
import {mapState} from 'vuex'

export default {
  name: 'App',
  data() {
    return {
      // counter: 0
    }
  },
  methods: {
    increment() {
      this.$store.commit('increment')
    },
    decrement() {
      this.$store.commit('decrement')
    }
  },
  computed: {
    ...mapState(['counter'])
    // counter() {
    //   // return this.$store.state.counter
      
    // }
  }
}
</script>

// main.js
import { createApp } from 'vue'
import App from './App.vue'
import store from './store/index'

createApp(App).use(store).mount('#app')
// store/index.js
import { createStore } from 'vuex'

export default createStore({
  state: {
    counter: 0
  },
  mutations: {
    increment(state) {
      state.counter++
      console.log(state.counter)
    },
    decrement(state) {
      state.counter--
      console.log(state.counter)
    }
  }
})

估计是 Vue3 的问题。 我安装了 vuex alpha 版本,在我的本地电脑上运行。

npm i vuex@4.0.0-alpha.1