Я использую NativeScript- Vue с аутентификацией Firebase, которая работает нормально.
Я пытаюсь направить пользователя непосредственно к компоненту Home, если он уже аутентифицирован с помощью Firebase или если он не направлен на компонент входа в систему.
В соответствии с моим примером кода я передал параметр onAuthStateChanged при инициализации Firebase, чтобы проверить, прошел ли пользователь аутентификацию, и сохранить состояние в isLoggedIn. Затем при рендеринге экземпляра Vue я проверяю истинное состояние isLoggedIn, чтобы определить погоду для отправки их в Home или Log In.
Я считаю, что экземпляр Vue отрисовывается первым, прежде чем onAuthStateChanged обрабатывается в соответствии с моя консоль.
Буду благодарен, если кто-нибудь сможет предоставить указатель.
let isLoggedIn = false
firebase.init({
onAuthStateChanged: data => {
console.log(data.loggedIn ? "Logged in to firebase" : "Logged out from firebase");
if (data.loggedIn) {
isLoggedIn = true
}
else {
isLoggedIn = false
}
}
}).then(
function () {
console.log("firebase.init done");
},
function (error) {
console.log("firebase.init error: " + error);
}
);
// Prints Vue logs when --env.production is *NOT* set while building
Vue.config.silent = (TNS_ENV === 'production')
new Vue({
render: h => h('frame', [h(isLoggedIn ? Home : LogIn)])
}).$start()