常見的改變數據的方法是setState, setState(data,callback)方法有兩個參數。html
1. 這個方法會把data合併到state中,而且從新渲染頁面。react
2. 當頁面從新渲染完成後,callback方法就會被觸發。大多數狀況下,咱們不須要手動調用callback, 由於在state發生改變後,更新頁面的功能,react 已經幫咱們實現了。服務器
不少數據均可以從父級傳來的props上獲取,那咱們何時須要用state呢?性能
如下三種狀況須要把信息保存到state上面:ui
1. 須要經過輸入框輸入的信息。spa
2. 發送request, 從服務器從新獲取的數據。htm
3. 實時信息。文檔
說了一些數據須要綁定到state上面,但過多的數據綁定到state上面,一方面確定會形成維護困難,另外一方面,由於state的改變,頁面會從新渲染,過多的綁定,確定會致使渲染性能降低的問題呢,那什麼狀況下, 數據是不須要保存到state上面呢?get
1. 待計算的值。it
2. react的組件。
3. 從props上面複製的值。
參考文檔:http://reactjs.cn/react/docs/interactivity-and-dynamic-uis.html