Use State နဲ့ Use Reducer နှစ်ခုစလုံးက state management အတွက်ဖြစ်တယ်။ အကြောင်းအရာတစ်ခုခုကို ပြောင်းလဲ ချင်ရင် ဒီ Hook နှစ်ခုထဲက တစ်ခု ကို အသုံးပြုပြီး dyanmic ဖြစ်အောင် ပြောင်းလဲလို့ရပါတယ်။ သို့သော် ဘယ် Hook ကို ဘယ်နေရာမှာသုံးရမလဲ ဘယ်လို အခြေအနေမှာအသုံးပြုရမလဲ။
Data Type
တစ်ဂယ်လို့ သင်က primitive data types တွေဖြစ်တဲ့ string, boolean, number types တွေကို ပြောင်းလဲသက်မှတ်မယ်ဆိုရင် Use state ကသင့်တော်ပြီး objects, array တွေကိုပြောင်းလဲသက်မှတ်မယ်ဆိုရင် use reducer ကသင့်တော်ပါတယ်။
Number of State Transition
ပြောင်းလဲရမယ့် state တွေက တစ်ခုနှစ်ခုလောက်ပါရင် use state နဲ့အဆင်ပြေစွာ အသုံးပြုလို့ရပြီး ပြောင်းလဲရမယ့် state တွေများတယ်ဆိုရင် use reducer နဲ့အသုံးပြုသင့်ပါတယ်။
Related State Transition
ပြောင်းလဲရမယ့် state တွေက တစ်ခုနှင့်တစ်ခုချိတ်ဆက်မှု့ ရှိမနေရင် use state ကိုအသုံးပြုသင့်ပြီး
ပြောင်းလဲရမယ့် state တွေက တစ်ခုနှင့်တစ်ခု ဆက်နွယ်နေမယ်ဆိုရင် use reducer ကိုအသုံးပြုသင့်ပါတယ်။
Business Logic
ရှုပ်ထွေးတဲ့ business logic တွေမပါဘဲ ရိုးရိုးရှင်းရှင်း logic တွေမှာဆိုရင် use state ကိုအသုံးပြုသင့်ပြီး ရှုပ်ထွေးတဲ့ business logic တွေမှာဆိုရင် use reducer ကိုသုံးသင့်ပါတယ်။
Local and Global
နောက်ဆုံးတစ်ချက်ကတော့ use state ကို local state management တွေမှာ အများဆုံးအသုံးပြုသင့်ပြီး use reducer ကိုတော့ use context နှင့် တွဲပြီး global state management တွေမှာ အသုံးပြုသင့်ပါတယ်။