Thuta Learning
ရှာဖွေရန်
IntermediateDevOps & Toolsintermediate

Login အခြေအနေ စစ်ဆေးခြင်း

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

Login အခြေအနေ စစ်ဆေးခြင်း

Auth state listener က app ထဲမှာ user login ဝင်ထားလား၊ logout ဖြစ်သွားလား၊ page refresh ပြီးနောက် user ရှိနေသေးလားဆိုတာကို သိအောင်လုပ်ပေးပါတယ်။ Navbar မှာ Login button ပြမလား၊ Dashboard ပြမလားဆိုတာ ဒီ state ပေါ်မူတည်ပါတယ်။

Code Example

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

const auth = getAuth();

const unsubscribe = onAuthStateChanged(auth, (user) => {
  if (user) {
    console.log('User is logged in:', user.uid);
  } else {
    console.log('No user. Show login page.');
  }
});

// Single-page app တွင် component မလိုတော့သောအခါ unsubscribe() ခေါ်နိုင်သည်။

ဘာကိုသတိထားရမလဲ?

onAuthStateChanged က app စဖွင့်တဲ့အချိန်မှာလည်းတစ်ခါ run ပါတယ်။ ဒါကြောင့် loading state ထားပြီး user ရှိ/မရှိသိမှ page ကိုပြတာက UX ပိုကောင်းပါတယ်။

Common mistake

React/Vue component ထဲမှာ listener ထပ်ခါထပ်ခါတင်ပြီး cleanup မလုပ်ရင် memory leak သို့မဟုတ် duplicate console log ဖြစ်နိုင်ပါတယ်။ Component unmount ဖြစ်တဲ့အခါ unsubscribe လုပ်ပါ။

Login အခြေအနေ စစ်ဆေးခြင်း | Thuta Learning