React မှာ component ရဲ့ lifecycle ကို အဓိကအားဖြင့် Mounting, Updating, Unmounting ဆိုပြီး အပိုင်း (၃) ခွဲခြားနိုင်ပါတယ်။ အပိုင်းတစ်ခုချင်းစီမှာ ကိုယ်ပိုင် lifecycle method (functional component မှာဆိုရင် Hook) ရှိကြပါတယ်။
React useContext hook က app တစ်ခုလုံးမှာ data တွေကို pass လုပ်ဖို့ ပိုမိုလွယ်ကူစေပါတယ်။
Project ရဲ့ deadline အရမ်းနီးကပ်လာတဲ့အချိန်မှာ ဘာလုပ်ရမယ်၊ ဘာမလုပ်ရဘူးဆိုပြီး ဆုံးဖြတ်တတ်ဖို့အရမ်းအရေးကြီးပါတယ်။ တချို့ bug တွေက အခြား bug တွေထက် အရင်ဖြေရှင်းဖို့လိုနေတတ်ပါတယ်။
Application ကြီးလာတာနဲ့အမျှ Performance ပြဿနာက ပိုကြီးလာပါတယ်။ App ရဲ့ Performance ကောင်းဖို့အတွက် React ရဲ့ feature တွေကို မှန်မှန်ကန်ကန် အသုံးချတတ်ဖို့လိုပါတယ်။ အဲဒီ feature တွေထဲက React.useMemo ကို ရှင်းပြချင်ပါတယ်။
Hook တွေကို React version 16.8 မှာ ထည့်သွင်းထားတဲ့ feature အသစ် ဖြစ်ပါတယ်။ သူတို့က class ဆောက်ပေးစရာမလိုဘဲ state တွေနှင့် React ရဲ့ အခြားသော feature တွေကို သုံးလို့ရအောင် ကူညီပေးပါတယ်။ သူတို့ကို အဓိက functional component မှာ state နဲ့ side effect တွေကို ကိုင်တွယ်ဖို့ (handle) ရန်အတွက် အသုံးပြုပါတယ်။ React Hook တွေအားဖြင့် stateful fuction တွေကို functional component ထ ဲမှာ သုံးလို့ရပါတယ်။ Hook တွေကို class တွေထဲမှာ သုံးလို့မရပါဘူး။
useState ကို ခေါ်သုံးတဲ့အခါ state ရဲ့နာမည်ကို ကိုယ်ပေးထားတဲ့အတိုင်း “state variable” တစ်ခုကို တည်ဆောက်ပါတယ်။ အပေါ်မှာ ဖော်ပြထားတဲ့ ဥပမာမှာ state နာမည်ကို “state” လို့ပေးထားပါတယ်။
Function object တစ်ခုက တခြား function တစ်ခုကို return ပြန်လို့ရပါတယ်။ (factory() function က လုပ်သလိုမျိုး)။ ပြီးတော့ အဲဒီ function တစ်ခုနှင့်တစ်ခု နှိုင်းယှဉ်လို့ရပါတယ်။ Object တစ်ခုက လုပ်လို့ရသမျှအကုန်လုံး လုပ်လို့ရပါတယ်။
useRef Hook ဟာ သူ့ရဲ့ argument (initialValue) ကို .current ဆိုတဲ့ သူ့ရဲ့ property မှာ initialized လုပ်ပြီး multable ref object ကို return ပြန်တဲ့ function တစ်ခုဖြစ်ပါတယ်။ သူ return ပြန်တဲ့ object ဟာ component ရဲ့ lifetime တစ်လျှောက်လုံးမှာ persist (ဆက်လက်တည်ရှိ) နေပါလိမ့်မည်။
Reducer ဆိုတဲ့စကားလုံးက value နှစ်ခုကိုလက်ခံပြီး value တစ်ခုကို return ပြန်တဲ့ function ကိုခေါ်တဲ့ အခေါ်အဝေါ်တစ်ခုဖြစ်ပါတယ်။ Array တစ်ခုမှာရှိတဲ့ value တွေအားလုံးကို value တစ်ခုတည်းမှာ ပေါင်းစပ်ချင်တဲ့အခါ Array ရဲ့ function တစ်ခုဖြစ်တဲ့ reduce function ကိုသုံးလို့ရပါတယ်။ အောက်မှာဖော်ပြထားတဲ့အတိုင်း reducer function တစ်ခုရေးပြီး reduce ထဲမှာ pass လုပ်လို့ရပါတယ်။