source

Vuex에서 store.subscribe() 메서드를 사용할 수 없습니다.

goodcode 2022. 8. 27. 09:30
반응형

Vuex에서 store.subscribe() 메서드를 사용할 수 없습니다.

난 그냥 그 애들에게store.subscribe()에 있어서의 방법.Vuex. 다음 오류가 계속 나타납니다.이것은 문서에 기재되어 있는 것과 달리 store.subscribe 메서드가 없음을 시사하는 것 같습니다.

Uncaughed TypeError: WEBPACK_IPORTED_MODULE_2__store.a.state.구독은 함수가 아닙니다.

내 코드는 다음과 같습니다.

app.js모든 것을 초기화하고 컴포넌트를 등록하는 파일:

import Vuex from 'vuex';
import router from './routes';
import store from './store';

window.Vue = require('vue');

const app = new Vue({
    el: '#app',
    router,
    store: new Vuex.Store(store)
});
store.subscribe((mutation, state) => {
  console.log(mutation.type)
  console.log(mutation.payload)
})

나의store.js파일(일원화된 파일)로 기능합니다.Vuex지금까지 완벽하게 작동하고 있습니다.

import router from './routes';
export default {
    state: {
      sample: {
        
      }
    },  
    mutations: {
      sample(state){
        
      }
        
    },

    getters: {
      sample(state){
        return state.sample
      }
    }
  
}

이 문제를 해결하려면 어떻게 해야 합니까?

이런 일이 일어나는 이유는store아직까지는 일반 객체일 뿐이며 의 일례는 아닙니다.Vuex당신이 부를 때요.다음을 시도해 볼 수 있습니까?

import Vuex from 'vuex';
import router from './routes';
import store from './store';

window.Vue = require('vue');
const myStore = new Vuex.Store(store)
const app = new Vue({
    el: '#app',
    router,
    store: myStore
});
myStore.subscribe((mutation, state) => {
  console.log(mutation.type)
  console.log(mutation.payload)
})

더하다app같은 것을 반대하다app.store...왜냐하면 당신의store이 수준에서는 Vuex 스토어 인스턴스로 알려져 있지 않습니다.

    import Vuex from 'vuex';
    import router from './routes';
    import store from './store';

     window.Vue = require('vue');

     const app = new Vue({
         el: '#app',
         router,
         store: new Vuex.Store(store)
       });
     app.$store.subscribe((mutation, state) => {
        console.log(mutation.type)
        console.log(mutation.payload)
       })

언급URL : https://stackoverflow.com/questions/52782193/unable-to-use-store-subscribe-method-in-vuex

반응형