Может возникнуть путаница из-за того, что метод был вызван, но я все-таки смог использовать firebase.auth().onAuthStateChanged((user) => {...})
, чтобы решить эту проблему.
Этот метод вызывает функцию обратного вызова, даже если пользователь не вошел в систему, поэтому Я использую это для определения состояния загрузки:
loading = true;
firebase.auth().onAuthStateChanged((user) => {
loading = false;
if (!user) {
// show login button
} else {
// hide login button
}
});