VueJS と firebase: ページの更新後にユーザーがログインしているかどうかを確認する
P粉680487967
2023-08-28 22:02:53
<p>Vue 3 と firebase フレームワークを使用して Web アプリケーションを開発しています。ストレとしてはピニアを使っています。認証には firebase を使用していますが、これまでのところうまく機能しており、ユーザーは登録してログインできます。ユーザーがログインすると、そのデータは pinia ストレージに保存されます。 </p>
<p>ただし、ユーザーがログインしてページをリロードすると、pinia ストレージ内のデータは失われます。 Firebase 関数 <code>onAuthStateChanged()</code> を使用すると、ユーザーはログインしたままになります。 </p>
<p>私の最初の解決策は、アプリが起動され、pinia ストアに必要なデータが設定されるたびに <code>onAuthStateChanged()</code> 関数を呼び出すことでした。 Firebase 設定ファイルで <code>onAuthStateChanged()</code> 関数を呼び出そうとしましたが、そこでは pinia ストアがまだ初期化されていません。 </p>
<p>更新後にユーザーが自動的にログインし、ユーザー データを Pinia ストレージに書き込むことができるようにするには、Vue アプリケーションのどの時点で <code>onAuthStateChanged()</code> 関数を呼び出す必要がありますか? ? </p>
あなたが何を試したのかわかりませんが、これがうまくいくことはわかっています。もちろん、onAuthStateChanged をストアの外に移動しても、引き続き機能します。 store.user を追跡し、UI を更新するには、オブザーバーまたは計算された props を使用する必要があることに注意してください。
リーリー