第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

react-router路由跳轉(zhuǎn)的問題

react-router路由跳轉(zhuǎn)的問題

DIEA 2019-04-27 22:16:29
問題描述這么一個場景,2個頁面一個是form表單,一個是table列表現(xiàn)在在form表單中使用reduerdispatch新增方法之后,需要跳轉(zhuǎn)到table頁面。問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法一開始的做法是在dispatch后面,調(diào)用router的push方法,跳轉(zhuǎn)到table頁面,但是發(fā)現(xiàn)table有一個獲取數(shù)據(jù)的api會在form頁面的save方法之前調(diào)用,導(dǎo)致獲取的數(shù)據(jù)是form表單提交之前的數(shù)據(jù)雖然可以使用延遲避免這樣的問題。但是想知道是否有別的方法。另外想到的就是在reducer中調(diào)用router的push方法來完成路由的跳轉(zhuǎn)相關(guān)代碼functionformSubmit(e){e.preventDefault()props.form.validateFields((error,value)=>{if(!error){props.saveExpress(value)props.history.push('/express/list')}})}這是調(diào)用dispatch之后調(diào)用push方法的代碼你期待的結(jié)果是什么?實際看到的錯誤信息又是什么?想知道大家正常的邏輯是在哪里調(diào)用的查看了antd-pro代碼,使用回調(diào)函數(shù)解決1、改造saveExpressprops.saveExpress(value,()=>props.history.push('/express/list'))2、修改對應(yīng)的actionexportconstsaveExpress=(express,callback)=>({type:Actions.SAVE_EXPRESS,express,callback})3、修改對應(yīng)的epic(由于使用的redux-observable所以會有這個方法)constsaveExpress=action$=>action$.pipe(ofType(Actions['SAVE_EXPRESS']),switchMap(params=>postExpress({...params.express}).then(()=>{params.callback()returnsaveExpressSuccess()})))由此問題可以解決
查看完整描述

2 回答

?
開心每一天1111

TA貢獻(xiàn)1836條經(jīng)驗 獲得超13個贊

改造下saveExpress方法,讓此方法提供一個成功的回調(diào),然后將props.history.push('/express/list')寫在回調(diào)函數(shù)中。
                            
查看完整回答
反對 回復(fù) 2019-04-27
?
千萬里不及你

TA貢獻(xiàn)1784條經(jīng)驗 獲得超9個贊

saveExpress異步方法returnPromise,然后使用async/await
props.form.validateFields(async(error,value)=>{
if(!error){
awaitprops.saveExpress(value)
props.history.push('/express/list')
}
})
                            
查看完整回答
反對 回復(fù) 2019-04-27
  • 2 回答
  • 0 關(guān)注
  • 434 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號