從 React Hooks 的源碼來看,它返回的是 [hook.memorizedState, dispatch],對應(yīng)我們接的值和變更方法。當(dāng)調(diào)用 setTimer 和setValue 時,分別觸發(fā)兩次重繪,使得 hook.memorizedState 指向了 newState(注意:不是修改,而是重新指向)。但 useEffect 返回閉包中的 timer 依然指向舊的狀態(tài),從而得不到新的值。(即讀的是舊...
www.dbjr.com.cn/javascript/317588t...htm 2025-6-8