Хотя rootState.user.user_data возвращает объект, rootState.user.user_data.uid возвращает ноль - PullRequest
0 голосов
/ 27 января 2020

У меня проблема. Представьте себе эту мутацию:

SET_USER(state, payload) {
            console.log("SET USER COMMIT")
            Vue.set(state.user_data, 'uid', payload.uid || payload._id)
            state.user_data.display_name = payload.display_name
            state.user_data.email = payload.email
            state.user_data.registered_on = payload.registered_on
            state.user_data.confirmed = payload.confirmed
            state.user_data.interacted_tags = payload.interacted_tags

        },

А теперь представьте себе доступ к rootState:

 test({rootState}, uid) {
            console.log(uid)
            console.log("uid", rootState.user.user_data.uid)
        }

Хотя user_data.uid НЕ имеет значение null и имеет значение, которое я вижу с помощью getters ( который также возвращает нуль в действиях), этот console.log возвращает нулевое значение. Что может быть не так?

Вот изображение user_data в консоли:

enter image description here

1 Ответ

0 голосов
/ 29 января 2020

Вы можете написать собственные методы получения для этих свойств, таким образом у вас будет более удобная в обслуживании и модульная функция для доступа к состоянию vuex и его модулям.

Например,

getters: {
    getUserUid: state => {
        // here you can do some logs for faster debug
        return state.user.user_data.uid
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...