1. 程式人生 > >前端成長之路(一)setState需要注意的幾點

前端成長之路(一)setState需要注意的幾點

一直沒有對setState有什麼很深入的瞭解,最近閱讀了一些文章,深感setState的運用並不簡單 setState的使用不當,很有可能會導致一些莫名其妙的bug 首先:setState並不保證同步執行 呼叫setState後,並不會直接改變state的值,而是會產生一個即將處理的state改變。在呼叫setState之後立即檢視,有可能值並沒有改變。所以,setState並沒有辦法保持同步,react可能會因為追求效能而進行批量處理 setState渲染並不一定必須 setState會觸發重新渲染,但是有很多重新渲染是沒有必要的。

  1. 新的state和原來的state是一樣的,==》可以在shouldComponentUpdate()裡進行設定。
  2. 發生改變的state和渲染無關 並不是所有的元件狀態都需要用 setState 來管理的