1. 程式人生 > >react使用setstate注意的兩點

react使用setstate注意的兩點

1、this.state裡的屬性不修改,或是隻修改一個,那麼不修改的剩下的屬性不會被變動。

this.state={
    name:"Aliece",
    age:19,
    msg:"未觸發方法之前的資訊。"
}

---
show=(arg1,arg2)=>{
    this.setState({
        msg:"利用show方法改變state裡面msg的資訊!但是隻會修改msg,state裡name和age不會改變!"
    })
}

2、關於其非同步性,使用回撥函式進行更新內容,也就是定義一個function,不過這個function我們稱為毀掉函式。

this.state={
    name:"Aliece",
    age:19,
    msg:"未觸發方法之前的資訊。"
}

show={(arg1,arg2),function(){console.log(msg+"這裡會是第二個msg的資訊!")} }=>{
    this.setState({
        msg:"利用show方法改變state裡面msg的資訊!但是隻會修改msg,state裡name和age不會改變!"
    })
}