使用 vuex 4 的 vue 3 中的状态管理失败 - 在 codesandbox 中共享代码
State management in vue3 with vuex4 fails - Code shared in codesandbox
亲爱的现代轻量级网络的朋友们,我希望你能帮助一个关于 vue3 和 Vuex 4 的新手。
我在多个子组件之间共享时间表详细信息(objects/dictionary 的数组),然后可以显示(例如,前 5 个工作)或编辑(例如,添加新的工作详细信息),以便这些更改得到反映在所有其他组件中。为此,我尝试使用 Vuex 4。
我无法访问组件中的状态。出于调试原因,我什至在创建状态期间添加了一个虚拟条目。
https://codesandbox.io/s/dazzling-brahmagupta-5sn1t?file=/src/main.js
您的演示使用了 Vuex 3(也许那只是演示中的一个错误)。一定要安装Vuex 4,它提供了createStore()
方法:
npm i -S vuex@4
此外,createStore()
的结果应传递给 app.use()
,这是来自 createApp()
(不是 App.vue
组件)的应用程序的实例方法:
import { createApp } from 'vue'
import { createStore } from 'vuex'
import App from './App.vue'
const store = createStore(/*...*/)
// App.use(store) ❌ don't do this
createApp(App)
.use(store) ✅
.mount('#app')
亲爱的现代轻量级网络的朋友们,我希望你能帮助一个关于 vue3 和 Vuex 4 的新手。
我在多个子组件之间共享时间表详细信息(objects/dictionary 的数组),然后可以显示(例如,前 5 个工作)或编辑(例如,添加新的工作详细信息),以便这些更改得到反映在所有其他组件中。为此,我尝试使用 Vuex 4。
我无法访问组件中的状态。出于调试原因,我什至在创建状态期间添加了一个虚拟条目。
https://codesandbox.io/s/dazzling-brahmagupta-5sn1t?file=/src/main.js
您的演示使用了 Vuex 3(也许那只是演示中的一个错误)。一定要安装Vuex 4,它提供了createStore()
方法:
npm i -S vuex@4
此外,createStore()
的结果应传递给 app.use()
,这是来自 createApp()
(不是 App.vue
组件)的应用程序的实例方法:
import { createApp } from 'vue'
import { createStore } from 'vuex'
import App from './App.vue'
const store = createStore(/*...*/)
// App.use(store) ❌ don't do this
createApp(App)
.use(store) ✅
.mount('#app')