request.js里面如何使用路由跳转?

需求是在request.js里面通过后端返回的code(不是http状态码,是自定义的)检测登录状态,尝试了以下两种方式,虽然能实现跳转,但是登录之后跳转到列表页面不能触发model里面的history.listen()

第一种
history.js

import createHistory from 'history/createHashHistory'

const history = createHistory()

export default history

index.js

const app = dva({
    history
})

使用
history.push('/login')

第二种

import { routerRedux } from 'dva/router'

const { dispatch } = app._store
dispatch(routerRedux.push('/login'))

这两种方式能跳转,但是都会另外创建一份history,所以listen()会失效。

版本

"dva": "^2.1.0",
"react": "^16.2.0",

求助
如何解决这个问题?或者针对用户登录失效跳转重新登录有没有更好的方式处理?

阅读 3.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题