💡
【 Next.js × FirebaseAuth 】初期化処理で currentUser を確定させるまで待つ
現状は動いたからとりあえずと思って書いてます。
Flutter だと Firebase の初期化処理を main 関数でやるだけで
認証済みかどうかを確定するけど
Next.js はそういう訳にも行かないらしい・・・
ということで、まずは認証状態をチェックするためにこれを打て!
useEffect(() => {
const _initialize = async () => {
console.log("初期化スタート");
await auth.authStateReady();
console.log(auth.currentUser?.uid);
};
_initialize();
});
どうやらコイツが確定してくれるらしい
await auth.authStateReady();
公式
初期認証状態が解決されるとすぐに解決される Promise を返します。 Promise が解決されると、現在のユーザーは有効なユーザーであるか、ユーザーがサインアウトした場合はnullになる可能性があります。
とのことです↑
つまりもう、onAuthStateChanged こいつは特に不要かもですね〜
やっと解決したなり。
Discussion