State和Props的區別


1. props是組件對外的接口,用於組件之間的傳值,props在組件內部是不可修改,可以看作只讀屬性。

2. state可以看作組件的私有屬性,用於組件內部的數據傳遞。

3. state可在組件內進行修改,state初始化的地方是在constructor()構建函數中,組件內修改必須使用setState()函數。

4.  說到setState()不得不再啰嗦幾句。react的面試面試官經常會問setState()是同步還是異步?既然這么問了那當然是異步啦。

5. setState是異步更新,同步執行,因為react中會將多個setState合並在一起處理,從而提升程序的性能,這就是react高明的其中一點。

6. 所以在編寫程序時我們不能依賴於當前的state去計算下一個state。因為異步所以this.state不一定是最新的組件屬性值。

7. 對於以上問題是否有解決辦法?那肯定有呀。

8. 既然是異步,那肯定就有回調函數,說到回調函數相比大家都知道解決辦法啦。

9. 那setState()函數的回調函數在哪呢,這個大家應該都知道,但是我就是想寫。

10. setState()函數有兩個參數,第一個我就不贅述了,第二個就是它的回調啦。

 this.setState({count:this.state.count+1}, ()=>{
            console.log("count ",this.state.count);
          });
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM