반응형
js 파일 VUEX에서 상태 액세스 방법
에 액세스 하고 싶다.state소유물currentUser의vuex에user.js그것을 에 사용하다auth.js이렇게 쓰면 안 돼요store.state.currentUser.uid ===...
다음 오류가 나타납니다.
정의되지 않은 속성 '상태'를 읽을 수 없습니다.
코드에 뭐가 빠졌나요?
트리:
src
store
user
|>user.js
|>mutations.js
index.js
auth.js
user.disples:
const state = {
profile: {},
loggedIn: false,
currentUser: null,
userProfile: {}
}
export default {
namespaced: true,
state
}
auth.module:
import store from './store'
const fb = require('./firebaseConfig.js')
fb.auth.onAuthStateChanged(user => {
if (user) {
fb.postsCollection.orderBy('createdOn', 'desc').onSnapshot(querySnapshot => {
let createdByCurrentUser
if (querySnapshot.docs.length) {
createdByCurrentUser = store.state.currentUser.uid ===
querySnapshot.docChanges()[0].doc.data().userId ? 'Yes' : 'No'
console.log(createdByCurrentUser)
}
})
}
})
index.displaces를 표시합니다.
import Vue from 'vue'
import Vuex from 'vuex'
import user from '@/store/user'
Vue.use(Vuex)
const store = new Vuex.Store({
state: {
awesome: true
},
modules: {
user
}
})
export default store
를 사용해야 합니다.getters, 문서를 참조해 주세요.
getters.displays(게터s.displays)
export default {
currentUser
}
function currentUser({ currentUser }) {
return currentUser;
}
user.displaces
import getters from './getters'
export default {
namespaced: true,
state: {
profile: {},
loggedIn: false,
currentUser: null,
userProfile: {}
},
getters
}
auth.displays(인증)
import store from './store';
const currentUser = store.getters['user/currentUser'];
모듈을 네임슬레이드했기 때문에 getter 기능에 액세스하려면 모듈의 이름을 접두사로 사용해야 합니다.
언급URL : https://stackoverflow.com/questions/52797770/how-to-get-access-of-state-in-js-file-vuex
반응형
'source' 카테고리의 다른 글
| 기억과 관련하여 아레나라는 용어의 의미는 무엇입니까? (0) | 2022.08.25 |
|---|---|
| 부모 퇴출 후 자녀 프로세스를 정지시키는 방법 (0) | 2022.08.25 |
| 생성자에 super()를 넣을 필요가 없습니까? (0) | 2022.08.25 |
| 검출되지 않은 오류: [vuex] getters는 함수여야 하지만 "getters.default"는 {}입니다. (0) | 2022.08.25 |
| Bootstrap-Vue 텍스트 필드를 mm/dd/yyy 형식으로 변경하는 적절한 방법 (0) | 2022.08.25 |
