鍍金池/ 問(wèn)答/PHP  HTML/ dva使用antd的Modal.confirm時(shí)獲取到的state值不是實(shí)時(shí)的

dva使用antd的Modal.confirm時(shí)獲取到的state值不是實(shí)時(shí)的

1.問(wèn)題:在使用antd的Modal.confirm時(shí)放入一個(gè)Input,來(lái)更新state中的txNote屬性。但是只要出現(xiàn)confirm,獲取到的都是先前的state,而不是在confirm中輸入后更新的state
2.截圖:
初始confirm

初始state

在confirm中輸入之后的confirm

confirm中輸入后的state

點(diǎn)擊通過(guò)之后打印出來(lái)的state

3.從上到下依次為:

1.初始狀態(tài)confirm
2.初始狀態(tài)state,其中txNote為""
3.輸入內(nèi)容后的confirm
4.輸入內(nèi)容后的state,其中txNote已經(jīng)更新了
5.點(diǎn)擊通過(guò)之后,我在該處理函數(shù)中打印出state,結(jié)果txNote還是""

4.在redux開發(fā)者工具中跟蹤查看確實(shí)state更新了。排除state沒有更新的原因。
5.猜想:

是不是在confirm出現(xiàn)的時(shí)候,獲取到的一直是先前的state,因?yàn)楫?dāng)我下一次confirm時(shí),點(diǎn)擊確定的時(shí)候打印出來(lái)的txNote是我上次輸入的內(nèi)容
回答
編輯回答
風(fēng)清揚(yáng)

是的,Modal.method有這個(gè)問(wèn)題,應(yīng)該是它會(huì)重新生成一個(gè)新的Modal,參數(shù)就是生成時(shí)的state參數(shù),生成后不會(huì)隨state變化而跟新

2017年7月15日 23:58
編輯回答
爛人

肯定在某個(gè)步驟中將state的值重置了。
你都猜想了,那就一步一步debugger吧。

2017年8月9日 08:19