Nuxt.js is focuses on server side rendering and has an asyncData property  that is called once before the page component is loaded.
I am trying something like:
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
}
Two similar questions:
have solutions which do not seem to work with nuxt...
I have also tried:
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);
  });
}