nuxt 앱 내의 Vuex가 "변환 핸들러 외부에 vuex 스토어 상태를 변환하지 않음!"을 슬로우합니다.
NUXT 앱에서 vuex 스토어 모듈을 사용하고 있습니다!앱을 실행하고 전화를 걸면
this.$store.dispatch('userStore/setLoggedInUser',currentUser); //default.vue
무한 루프되는 "변환 핸들러 외부의 vuex 스토어 상태를 변환하지 않음"이라는 오류가 표시됩니다.
모듈은 다음과 같습니다.
const actions = {
setLoggedInUser({commit},currentUser){
return new Promise((resolve,reject)=>{
commit('mutateLoggedInUser',currentUser);
resolve();
});
}
}
const mutations = {
mutateLoggedInUser(state,user){
state.loggedInUser = user;
}
}
나는 해결책을 찾았다.store/index.js 파일에서 strict 모드를 false로 설정하면 오류가 사라집니다.
export const strict = false
하지만 이것은 진부한 해결책으로 보이며 나는 무슨 일이 일어나고 있는지 정말 이해할 수 없다.이게 NUXT의 버그인가요 아니면 제가 Vuex 스토어에서 이상한 짓을 하고 있는 건가요?
일반적으로 이 오류는 무한 업데이트 루프를 일으키는 전달된 값을 보고 있을 때 발생하지만 보고 있지 않을 경우 복사본이 아닌 원래 값을 전달했기 때문일 수 있습니다.
변경 시도:state.loggedInUser = user
로.state.loggedInUser = user.slice()
또는this.$store.dispatch('userStore/setLoggedInUser',currentUser.slice())
언급URL : https://stackoverflow.com/questions/51686555/vuex-inside-nuxt-app-throws-do-not-mutate-vuex-store-state-outside-mutation-han
'programing' 카테고리의 다른 글
열거형 변수를 C에서 문자열로 사용하는 쉬운 방법? (0) | 2022.08.11 |
---|---|
Java 256비트 AES 패스워드 기반 암호화 (0) | 2022.08.11 |
구조 정의는 .h 또는 .c 파일로 해야 합니까? (0) | 2022.08.11 |
vuex 상태 돌연변이가 UI를 차단함 (0) | 2022.08.11 |
VueRouter.beforeEach()에서 Vuex에 액세스할 때 저장소가 정의되지 않음 (0) | 2022.08.09 |