React路由器获取组件外部的当前路由

Posted

技术标签:

【中文标题】React路由器获取组件外部的当前路由【英文标题】:React router get current route outside component 【发布时间】:2016-12-29 06:41:51 【问题描述】:

我现在正在使用fluxible和react-router,我想执行操作,然后在回调后重定向。

动作中,动作上下文没有路由,动作后改变路由失败。

我试图找到示例,但我只能使用 browserHistory 找到。

我现在可以推送浏览器历史记录,但不知何故我找不到当前路径。 (因为我的新路径取决于当前路径/:id/profile,然后我想重定向到/:id/details/:version),所以我需要在附加之前取回/:id/details版本)。

    如何在没有路由实例的情况下只能访问动作上下文的动作中找到当前路由?

    有时我的反应路由器在服务器端工作,而不是在客户端。它会在我刷新页面时显示,但仅在客户端时显示 404。(我猜是因为我使用的是相对链接)

react router 是否支持相对链接?

    如何在无状态组件中传递参数和路由器? 在无状态组件中,我只能访问 props 而不能访问上下文。所以我无法访问路由器或参数? 我想使用参数并链接到带有 id 的绝对路径。

谢谢

【问题讨论】:

【参考方案1】:

对于问题3,我已经弄清楚了访问参数的方法

实际上,无状态组件中的第二个参数是上下文。我已经通过了参数并在那里获取。

例如

const CompanyDetail = (props, context) => 


CompanyDetail.contextTypes = 
  params: PropTypes.object,
;

【讨论】:

以上是关于React路由器获取组件外部的当前路由的主要内容,如果未能解决你的问题,请参考以下文章

react函数组件——use接收路由参数之HOOK函数获取——useSelector,useDispatch用法——antpc端表单的简单使用

react路由刷新后Cannot GET /home

React中路由操作、页面跳转

react-router:从组件或存储更改路由

react返回上一级路由为啥会刷新

外部反应组件/模块的路由