Event Handling ( Changing State )

ကျတော်တို့ ကုဒ်တွေကို အရင်ရေးလိုက်ကြရအောင် အရင်ဆုံး ကျတော်တို့ button ထဲမှာ event

လေးတခုကိုရေးကြရအောင်

အဲဒါက ဘာလည်းဆိုတော့ click ဆိုတဲ့ဟာလေး

ကျတော်တို့က html မဟုတ်တဲ့အတွက် ရေးရမယ့်ဟာလေးတွေက နည်းနည်းလေးတော့ပြောင်းပါတယ်

ဘယ်လိုမျိုးလည်းဆိုတော့ onClick ဆိုပီးတော့ရေးရမှာပါ

return(
    <>
        <h1>{this.state.count}</h1>
        <button onClick={this.clickHandler}>Add One</button>
    </>
)

အဲလိုလေးရေးပြီးတော့ ကျတော်တို့က clickHandler function တစ်ခုကို create လုပ်ကြရအောင်

render ရဲ့ အထက်မှာ create လုပ်လိုက်ပါမယ်

ပြီးတော့ ကျတော်တို့က state ကို စတင်ပီးတော့ ပြောင်းလဲဖို့ အတွက် သူ့ကိုပြောင်းလဲဖို့အတွက် method

လေးတစ်ခုရှိပါတယ် အဲဒါက ဘာလည်းဆိုတော့ setState ဆိုတဲ့ ဟာလေးပါ

အဲဒါကိုအသုံးပြုပြီးတော့ ကျတော်တို့ state ကို ပြောင်းလဲပေးရမှာပါ

ဟာ အဲဒါဆို ဒီလိုရေးရင်ကောမရဘူးလား ဘာလို့ setStateကို အသုံးပြုမှရတာလည်း လို့ မေးစရာရှိလာပါလိမ့်မယ်

clickHandler = () => {
    this.state = {
        count : this.state.count + 1
    }
    console.log(this.state.count)
}

အဲလိုမျိုး မေးခွန်းအတွက် ရလားဆိုတော့ ရပါတယ်

ဒါပေမယ့် သူက state ကိုပဲ ပြောင်းလဲပေးတာ

ကျတော်တို့က ဘာကိုပါ ထပ်ပြီးတော့အလုပ်လုပ်စေချင်တာလည်းဆိုတော့ ကျတော်တို့က ပြောင်းလဲလိုက်တဲ့

state ကို browser ပေါ်မှာ ပြန်မြင်စေချင်တာမလို့ setState ကိုအသုံးပြုတာပါ

setState ဆိုတာက ဘယ်လိုမျိုးအလုပ်လုပ်တာလည်းဆိုတော့ ကျတော်တို့ react component တခုမှာရှိတဲ့

state က ပြောင်းလဲမှု တခုခုဖြစ်သွားရင် အဲကောင်ကို သူက rerender လုပ်ပေးပါတယ်

အဲလိုမျိုး ပြန်လုပ်တဲ့အတွက် ကျတော်တို့ ပြောင်းလဲလိုက်တဲ့ ပြောင်းလဲမှုတွေကို browser ပေါ်မှာ ပါ

ပြောင်းလဲပြစေချင်တဲ့အတွက် ကျတော်တို့ က setState ကိုအသုံးပြုပေးရတာပါ

ကဲ ဒါဆိုရင်ကျတော်တို့ ကုဒ်တွေကို ဆက်ရေးလိုက်ကြရအောင်

clickHandler = () => {
    this.setState({
        count : this.state.count + 1
    })
}

အဲလိုမျိုး အသုံးပြုပြီးတော့ ကျတော်တို့ browser မှာ သွားပြီးတော့ စမ်းကြည့်မယ်ဆိုရင် browser မှာပေါ်တဲ့

ဒေတာပါ လိုက်ပြောင်းလဲနေတာကိုမြင်ရပါလိမ့်မယ်

ဒီလောက်ဆိုရင်ကျတော်တို့ state နဲ့ setState အကြောင်းကို တော်တော်လေး နားလည်သွားမယ်လို့ထင်ပါတယ်

Last updated