[英]React Hooks delayed setState updates causing anomalies in function
我正在使用 React 構建一個測驗應用程序,我正在將問題作為數組獲取並維護狀態:
現在的問題是,當我選擇一個選項並單擊“保存並 go 到下一個問題”時,會觸發以下事件:
現在的問題是,當我們 go 到下一個問題時,即使我們已經回答並返回 state #3 沒有正確更新,這些事件按順序觸發是非常重要的。
在我的代碼中,因為我使用的是反應掛鈎,所以 state 更新是異步的,我沒有得到所需的正確序列。 在更新包含所有問題信息的數組之前,將觸發下一個問題 function。 我讀了很多答案,但他們都建議使用 Effect Hook。 但主要問題是我沒有 setStates 的通用用例。 例如,在更新總數組后,我不會 go 到下一個問題,這是一種特殊情況,我需要在 state #1 更新后觸發 goToNextQuestion() 。 我應該怎么做才能達到我要求的目標?
您可以有一個 useState 掛鈎,它具有包含所有這些狀態的 object。 更新時,您可以一次更新它們。
const [myState, mySetState] = useState({questions:[],current:{},selected:0}
然后在更新時,復制舊值,解構它並替換為新信息
mySetState({...myState, current:newValue, selected:newSelected})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.