Dva: 如何实现路由的跳转?

Created on 9 Oct 2016  ·  2Comments  ·  Source: dvajs/dva

场景:在登录页面,登录成功后,跳转到指定页面。
版本:antd2.0 、dva1.0

目前处理方式
登录请求成功,返回state,在container进行判断,监听到成功状态,执行跳转。
代码:
dispatch(routerRedux.push({
state:null,
pathname: '/',
query: {},
}));

以上逻辑执行成功后,会跳转到"/" ,但是在控制台会提示出现一个错误.无法再点返回刚才的登录页面。

image

是否可以在effects中可以直接跳转?但是试了一下 hashHistory.push都无法实现。
有没有具体的示例可以做参考?

Most helpful comment

我的代码:

const {data} = yield call(login, payload);
      if (data) {
        yield put(routerRedux.replace({pathname: '/main'}));
      }

effect里面做是没有问题的。

All 2 comments

我的代码:

const {data} = yield call(login, payload);
      if (data) {
        yield put(routerRedux.replace({pathname: '/main'}));
      }

effect里面做是没有问题的。

@bjwulin 谢谢~这样写是没有问题的。

Was this page helpful?
0 / 5 - 0 ratings