VueJS dan firebase: Semak sama ada pengguna log masuk selepas muat semula halaman
P粉680487967
P粉680487967 2023-08-28 22:02:53
0
1
388
<p>Saya sedang membangunkan aplikasi web menggunakan Vue 3 dan rangka kerja firebase. Sebagai stroe, saya menggunakan Pinia. Untuk pengesahan saya menggunakan firebase dan setakat ini ia berfungsi dengan baik, pengguna boleh mendaftar dan log masuk. Sebaik sahaja pengguna log masuk, datanya disimpan dalam storan pinia. </p> <p>Namun, sebaik sahaja pengguna log masuk dan memuat semula halaman, data dalam storan pinia hilang. Jika saya menggunakan fungsi firebase <code>onAuthStateChanged()</code> </p> <p>Penyelesaian pertama saya ialah memanggil fungsi <code>onAuthStateChanged()</code> setiap kali apl dilancarkan dan kedai pinia diisi dengan data yang diperlukan. Saya telah cuba memanggil fungsi <code>onAuthStateChanged()</code> dalam fail konfigurasi firebase, tetapi kedai pinia belum dimulakan di sana lagi. </p> <p>Pada titik manakah dalam aplikasi Vue saya perlu memanggil fungsi <code>onAuthStateChanged()</code> supaya pengguna log masuk secara automatik selepas muat semula dan saya boleh menulis data pengguna ke storan Pinia ? </p>
P粉680487967
P粉680487967

membalas semua(1)
P粉195402292

Saya tidak pasti apa yang anda telah cuba, tetapi saya tahu ini akan berkesan. Sudah tentu, anda boleh memindahkan onAuthStateChanged keluar dari kedai anda dan ia masih akan berfungsi. Ingat, anda perlu menggunakan pemerhati atau prop yang dikira untuk menjejak store.user dan mengemas kini UI.

import { getAuth, onAuthStateChanged } from 'firebase/auth';

const auth = getAuth();
onAuthStateChanged(auth, async () => {
  const store = useStore();
  store.setUser();
});


const useStore = defineStore('store', {
  state: () => ({ 
    user: null
  }),
  actions: {
    setUser() {
      // Set user here
      // this.user = ...
    }
  }
});
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!