如何将 store 传递给 vue 3 中的 vue 实例?

RDU*_*RDU 2 vue.js vuex

vuex 文档指定您必须将创建的商店传递给 vue 实例,如下所示

new Vue({
  el: '#app',
  store: store,
})
Run Code Online (Sandbox Code Playgroud)

我的问题是,我使用 CLI 创建了一个新的 vue 项目,并使用 create app 将应用程序安装在 mian.js 中,如下所示:

import App from './App.vue'


const app = createApp(App)
app.mount('#app')
Run Code Online (Sandbox Code Playgroud)

如何使用第二种方法传递商店,以便我可以从任何组件访问它,或者如何使用第一种方法正确安装应用程序?他们之间有什么区别?

根据我的理解createApp(),vue 3 中是新的,我不确定它是如何工作的,我似乎找不到正确的文档,new Vue({})和 之间有什么区别createApp()

我确信我不理解一些基本概念,但我不知道是哪一个......

谢谢。

Ana*_*oly 6

您应该使用v4 rccreateStore中的内容vuex,然后调用app.use(store)

商店.js

import { createStore } from 'vuex'

export const store = createStore({
  state () {
    return {
      count: 1
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

应用程序.js

import { createApp } from 'vue'
import { store } from './store'
import App from './App.vue'

const app = createApp(App)

app.use(store)

app.mount('#app')
Run Code Online (Sandbox Code Playgroud)

查看Vuex v4安装流程