react 怎么获取到浏览器切换的地址

最近遇到一个问题,我使用react-router-dom ,想知道
clipboard.png
切换的时候获取到地址栏的地址信息,
我尝试用生命周期还是解决不了
我本来想用onhashchange但是react却没有,求帮帮忙
简单说我就是想知道react怎么获取到地址切换变化的url

阅读 4.7k
4 个回答

不知道你有没有使用redux之类的东西。
如果把router交给redux管理,直接在this.props中就可以看到当前urlpath
如果没有,那你直接在render中打印一下 console.log(location) 看看。

react-router用的是history api

我自己找到了一种解决办法,我是使用的 window.onhashchange 不过这个方法只能在HashRouter路由用 BrowserRouter路由没有实践

let that = this
window.onhashchange = function () {
  that.setState({
    pathname: window.location.hash.substr(1)
  })
}

这样我就可以通过pathname变化来加载组件,你们觉得这思路可以吗?
望请教!一个刚刚学react的小黑同学:)

可以试试react-router的withRouter这个高阶组件,获取路由信息。

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