react 中的 setState 更新狀態的2種寫法
阿新 • • 發佈:2022-05-17
(1).setState(stateChange,[callback])-------------物件式的setState
1.stateChange為狀態改變物件(該物件可以體現出狀態的更改)
2.callback 是可選的回撥函式,它在狀態更新完畢.介面也更新後(render呼叫後)才被呼叫
(2).setState(updater,[callback])---------------函式式的setState
1.updater為返回stateChange物件的函式。
2.updater可以接收到state和props.
3.callback是可選的回撥函式,它在狀態更新,介面也更新後(render呼叫後)才被呼叫。
總結:
1.物件式setState是函式式的setState的簡寫方式(語法糖)
2.使用原則:
(1).如果新狀態不依賴於原狀態 ===> 使用物件方式
(2).如果新狀態依賴於原狀態 =====> 使用函式方式
(3).如果需要在setState()執行後獲取最新的狀態資料要在第二個callback函式中讀取