我有一個帶有 4 個不同 id 的陣列的簡單 aip。作為反應,我做了一個
每個 id 都有一個按鈕。當我單擊按鈕時,我想使用來自 api 的新特定按鈕 id 值更改 state.id 和 console.log 新 state.id。(最終我要根據我按下的按鈕更改一些渲染)。

我需要在其中一個按鈕上按兩次以控制臺。記錄我想要的 id,我需要在第一次單擊時更改狀態。(對一些新的渲染進行一些更改)
uj5u.com熱心網友回復:
來自setState()的 React 檔案
將 setState() 視為更新組件的請求而不是立即命令。為了更好地感知性能,React 可能會延遲它,然后一次更新多個組件。React 不保證立即應用狀態更改。
嘗試在您的渲染函式中記錄 this.state ,您將在第一次單擊后看到它實際上是如何發生的 - 但您的日志在狀態更新之前顯示它。
uj5u.com熱心網友回復:
setState() : setState() 并不總是立即更新組件。它可能會批量更新或將更新推遲到以后。這使得在呼叫 setState() 之后立即讀取 this.state 是一個潛在的陷阱。相反,使用 componentDidUpdate 或 setState 回呼 (setState(updater, callback)),它們都保證在應用更新后觸發。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/457381.html
