direct-vuex
direct-vuex copied to clipboard
Uncaught Error: [vuex] must call Vue.use(Vuex) before creating a store instance.
I'm getting the error:
Uncaught Error: [vuex] must call Vue.use(Vuex) before creating a store instance.
Here's my thoughts: Perhaps direct-vuex has its own VueX installation?
Here's what fixes my problem:
myproject/src/main.ts
import Vue from 'vue'
const { store, rootActionContext, moduleActionContext } = createDirectStore(
(vuex: any) => Vue.use(vuex),
{
...
}
)
direct-vuex.esm.js
import Vuex from 'vuex'
function createDirectStore(callback, options) {
callback(Vuex)
Here's my code:
myproject/src/main.ts
import Vue from 'vue'
import { createDirectStore } from 'direct-vuex'
import vuex from 'vuex'
import tabs from '@/store/modules/tabs'
import favourites from '@/store/modules/favourites'
import VuexPersistence from 'vuex-persist'
Vue.use(vuex)
const vuexLocal = new VuexPersistence<any>({
storage: window.localStorage,
reducer: state => ({ favourites: state.favourites }),
})
const { store, rootActionContext, moduleActionContext } = createDirectStore({
modules: {
tabs,
favourites,
},
plugins: [vuexLocal.plugin],
} as any)
I tried yours and see no problem. Could you share the minimum reproducible one?