yushi32 / superior_bookmark_app

A superior bookmark manager app is here.
0 stars 0 forks source link

ゲストログイン機能 #46

Open yushi32 opened 4 months ago

yushi32 commented 4 months ago
yushi32 commented 3 months ago

匿名ユーザーを永久ユーザーへ変更した後、モーダルの表示内容が動的に遷移しない

yushi32 commented 3 months ago

解決?

onAuthStateChanged関数のコールバック関数に以下を追加することで解決したかも。

const nextOrObserver = async (user) => {
  if (!user) {
    setLoading(false);
    return;
  }

  // このif文を追加
  if (!user.isAnonymous) {
    setCurrentUser(user);
  }

  setLoading(true);
  setCurrentUser(user);
  setLoading(false);
};

useEffect(() => {
  const unsubscribe = onAuthStateChanged(auth, nextOrObserver);
  return unsubscribe;
}, []);
yushi32 commented 3 months ago

現状整理

const nextOrObserver = async (user) => {
  if (!user) {
    setLoading(false);
    return;
  }

  setLoading(true);
  setCurrentUser(user);
  setLoading(false);
};

useEffect(() => {
  const unsubscribe = onAuthStateChanged(auth, nextOrObserver);
  return unsubscribe;
}, []);

ネットワークタブから分かったこと

Image from Gyazo

?_rsc=英数字5文字ってなに?

ChatGPT に聞いてみた。 Image from Gyazo

yushi32 commented 3 months ago

さらなる調査結果

yushi32 commented 3 months ago

期待する遷移

  1. ヘッダーの「LINEアカウント連携」ボタンをクリックすると、以下のようなモーダルが表示される。 Image from Gyazo
  2. 「本登録を行う」ボタンをクリック後、Googleアカウントの認証ポップアップに移動する。
  3. 使用する Google アカウントを選択するとポップアップが閉じ、アプリに戻ってきた後にモーダルが以下のように遷移する。 Image from Gyazo

現状は3.でモーダルが更新されず、1.のままになってしまう場合がある。