Nuxt.js предназначен для рендеринга на стороне сервера и имеет свойство asyncData
, которое вызывается один раз перед загрузкой компонента страницы.
Я пытаюсь что-то вроде:
async asyncData({params}) {
// firebase.auth().onAuthStateChanged((user)=>{ // <-- this doesn't work in the asyncData property
let user = await firebase.auth().currentUser
let info = {}
console.log(user)
user.uid === null // true
}
Два похожих вопроса:
есть решения, которые, кажется, не работают с nuxt ...
Я также пробовал:
function getCurrentUser(auth) {
let userLoaded = false;
return new Promise((resolve, reject) => {
if (userLoaded) {
resolve(firebase.auth().currentUser);
}
const unsubscribe = auth.onAuthStateChanged(user => {
userLoaded = true;
unsubscribe();
resolve(user);
}, reject);
});
}