0
如果我有這樣的代碼,在發送調用之後,getState是否總是返回最新的狀態?
dispatch({
type: actionTypes.ABCD,
...newInfo,
});
const state = getState();
能否在state
是最新的狀態依靠100%?或者是dispatch
異步,我無法保證該狀態是否已更新?
如果我有這樣的代碼,在發送調用之後,getState是否總是返回最新的狀態?
dispatch({
type: actionTypes.ABCD,
...newInfo,
});
const state = getState();
能否在state
是最新的狀態依靠100%?或者是dispatch
異步,我無法保證該狀態是否已更新?
是的。對dispatch()
的呼叫本身是100%同步的。到dispatch()
返回時,根縮減程序已運行,狀態值已更新,並且所有訂戶都已收到通知。所以是的,在dispatch()
後立即致電getState()
將返回最新值。
需要注意的是,任何中間件都可以攔截,延遲或修改分派的操作。所以,最終的答案取決於你已經安裝的中間件以及它們是如何配置的。