在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ 如何在dvajs的action中跳轉頁面?

如何在dvajs的action中跳轉頁面?

之前一直用的是hashHistory,但以后升級react-router v4之后hashHistory被移除了,我知道可以用 yield put(routerRedux.push('xxx')),不過我的場景是在effects里面的回調跳轉,通過這個issue,我知道了這種寫法可能不好,但我也不知道該怎么弄,場景如下:

  1. 頁面初始化發(fā)出一個驗證請求
  2. 得到請求結果
  3. 如果驗證不通過,彈出一個提示框
  4. 點擊確認,頁面跳轉

偽代碼:

effects: {
    *init({}, {call, put}) {
        const result = yield call('xxx');
        if (!result) {
            Modal.confirm({
                title: '是否跳轉?',
                onOk() {
                    // 這里做跳轉
                }
            });
    }
}

onOk里面不能用routerRedux跳轉,這也不是從組件內用dispatch過來的方法可以把回調傳進來,這種情況該怎么處理呢?

回答
編輯回答
嫑吢丕

把這段代碼

Modal.confirm({
                title: '是否跳轉?',
                onOk() {
                    // 這里做跳轉
                }
            });

封裝到Promise中,
然后通過call來調用。

2018年7月22日 11:21