在此 React 應用程式中,狀態變數 (dealersOverallTotal) 未正確更新。即使使用 setTimeout 延遲 setState 呼叫後,問題仍然存在。儘管console.log語句確認變數total保持正確的值,dealersOverallTotal仍然保持不變。
根本原因在於setState方法的非同步性質。當呼叫 setState 後立即使用 console.log 檢查狀態時,它會檢索舊的狀態值。要存取更新的狀態,可以利用提供給 setState 的回呼函數:
this.setState({ dealersOverallTotal: total }, () => { console.log(this.state.dealersOverallTotal, 'dealersOverallTotal1'); });
在回調中,確保更新的狀態可用,從而確保準確記錄狀態值。透過遵循這種做法,開發人員在 setState 呼叫後存取狀態時可以放心地依賴最新的狀態。
以上是為什麼我的 React setState 沒有立即更新我的狀態?的詳細內容。更多資訊請關注PHP中文網其他相關文章!