纯函数中怎么用 react-router-dom 的路由跳转方法

我有一个纯函数组件,没有 react 生命周期,里面有几个地方需要跳转路由。但是由于 Link 标签不能嵌套,所以某些地方跳转需要手写 js 来实现。
我像知道 react-router-dom 有没有暴露出跳转的方法。
我现在的解决方法是在调用该组件的时候把 this.props.history.push 方法当做参数传递到函数中使用的,如果 react-router-dom 自带了跳转方法感觉使用起来会更加友好=。= 或者直接用 location.href 跳转路由?
比如我自己封装的 axios 函数,在指定状态码的时候跳转到 login 界面,这种如何跳转=。=

阅读 9k
1 个回答

解决了。我的想法就不对,不应该在 axios 函数中跳转路由,而是应该在 axios 里面清除 cookie 的登录字段和 redux state 中的登录字段,然后界面因为登录字段是空会重定向到 Login 界面
在 axios 可以引入 store 然后调用 dispatch 方法

import store from '../store'
import { actionCreators } from '../views/login/store
...
dispatch(actionCreators.logoutSuccess())
...
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题