react-route4 如何实现js跳转页面

1.因业务场景需要,通过js控制路由跳转,查阅了react-router4文档都没有关于编程式路由导航的

https://segmentfault.com/q/10...

这篇是我在网站上搜到,但是props里面的history的对象我只能在App组件取到,App下面的子组件、子子组件无法获取。不知道是我少了什么,还是配置错了。

下面的是我的route及index.js配置

clipboard.png

clipboard.png

网上还有一种是通过withRouter实现,但是此种方法会导致我的组件通过ref获取比较复杂,就想问有没有简单点的方法,或者案例的。

阅读 4.1k
2 个回答

return <Redirect to={'/'} />类似这样试试 不很明白你的意思

新手上路,请多包涵

Route组件可以使用props render来指定组件,这样就可以为每一个路由组件注入history了,这种方式是只针对每一个路由组件的,后代组件只能一层一层传递了。如果,需要同时为每一个组件都提供history可以使用context API,或者外部引入的方式。不过个人认为还是注入的方式更符合React思想。

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