Skip to content
GitHub

Redux ရဲ့ အားသာချက်များ

၁. Predictable State (ခန့်မှန်းရ လွယ်ကူခြင်း)

Section titled “၁. Predictable State (ခန့်မှန်းရ လွယ်ကူခြင်း)”

Redux မှာ State တစ်ခု ပြောင်းလဲဖို့အတွက် Action တစ်ခု မဖြစ်မနေ လိုပါတယ်။

  • ဘယ်သူက ပြောင်းလိုက်တာလဲ?
  • ဘယ်အချိန်မှာ ပြောင်းလိုက်တာလဲ?
  • ဘာကြောင့် ပြောင်းလိုက်တာလဲ?

ဒါတွေအားလုံးကို တိတိကျကျ သိနိုင်ပါတယ်။ CCTV မှတ်တမ်း ပြန်ကြည့်သလိုပါပဲ။ “ပိုက်ဆံ ပျောက်သွားတယ်” ဆိုရင် ဘယ်သူ ယူသွားလဲ ချက်ချင်း သိနိုင်သလို၊ Bug ဖြစ်ရင်လည်း ဘယ် Action ကြောင့် ဖြစ်လဲ ချက်ချင်း သိနိုင်ပါတယ်။

Redux DevTools ကို သုံးပြီး “Time Travel” လုပ်လို့ ရပါတယ်။

  • လွန်ခဲ့တဲ့ ၅ မိနစ်က State ကို ပြန်သွားကြည့်မလား?
  • Action တစ်ခုချင်းစီကို ပြန် Play ကြည့်မလား?

Video Tape ကို အနောက်ပြန်ရစ် (Rewind) လုပ်သလိုမျိုး Application ရဲ့ အခြေအနေကို စိတ်ကြိုက် ပြန်ကြည့်လို့ ရတာက Redux ရဲ့ Superpower ပါပဲ။

၃. Centralized State (တစ်နေရာတည်းမှာ စုစည်းထားခြင်း)

Section titled “၃. Centralized State (တစ်နေရာတည်းမှာ စုစည်းထားခြင်း)”

Data အားလုံးကို Store တစ်ခုတည်းမှာ သိမ်းထားတဲ့အတွက်:

  • Data တွေကို နေရာတကာ လိုက်ရှာစရာ မလိုတော့ဘူး။
  • Server ကနေ လာတဲ့ Data တွေကို Cache လုပ်ထားဖို့ လွယ်တယ်။
  • App တစ်ခုလုံးရဲ့ အရောင် (Theme) ပြောင်းချင်ရင် တစ်နေရာတည်း ပြင်ရုံနဲ့ ရတယ်။

၄. Testing (စမ်းသပ်ရ လွယ်ကူခြင်း)

Section titled “၄. Testing (စမ်းသပ်ရ လွယ်ကူခြင်း)”

Redux ရဲ့ Reducer တွေက Pure Functions တွေ ဖြစ်ပါတယ်။

  • Input (Old State + Action) ပေးလိုက်ရင် Output (New State) အမြဲတမ်း တူတူပဲ ထွက်ပါတယ်။
  • ဒါကြောင့် Test ရေးရတာ အရမ်း လွယ်ကူပါတယ်။ “ဒီ Action ပေးရင် ဒီ State ထွက်လား” ဆိုတာ စစ်ဆေးရုံပါပဲ။

ဘယ်အချိန်မှာ Redux မသုံးသင့်ဘူးလဲ?

Section titled “ဘယ်အချိန်မှာ Redux မသုံးသင့်ဘူးလဲ?”
  • Project အသေးလေးတွေ (To-Do List လောက်ပဲ)
  • State တွေ သိပ်မရှုပ်ထွေးတဲ့ App တွေ
  • Team Member တွေက Redux မကျွမ်းကျင်သေးရင်

“ယင်ကောင်ကို ပုဆိန်နဲ့ ပေါက်” သလို မဖြစ်စေဖို့ လိုအပ်မှသာ Redux ကို သုံးသင့်ပါတယ်။