Я использую vuex с модулем машинописи и пространств имен.У меня 2 модуля: «UserProfile» и «Поездки».Все работает внутри одного модуля.
Мне нужно получить доступ к текущему пользователю, хранящемуся в состоянии модуля "UserProfile", изнутри действия модуля "Отключение".
Насколько я понимаюЯ мог бы использовать rootState ["profile / user"], если я не использую тип_скрипта.
Но с машинописью компилятор выдает мне такую ошибку:
Element implicitly has an 'any' type because type 'RootState' has no index signature.
Это мое действие отМодуль «Отключение»:
async createTrip({ commit, state, rootState, rootGetters}) {
const user = rootState["profile/user"];
}
Кто-нибудь знает правильный способ доступа к состоянию, принадлежащему другим пространствам имен, при использовании vuex + typcript?
Спасибо.
===== ОБНОВЛЕНИЕ =====
На данный момент единственное работающее решение, которое я нашел, это:
1] Для каждого модуля, создающего геттер, возвращающий все его состояние (то есть "Профиль""модуль добавляет метод получения, возвращающий тип ProfileState)
2] Использование этого метода получения через rootGetters из другого модуля, например:
async createTrip({ commit, state, rootState, rootGetters}) {
const profileState: ProfileState= rootGetters["profile/getState"];
if(profileState.user === undefined ) return;
console.log("CurrentUser: " + profileState.user.uid);
}