从Redux reducer中的react路由器检索参数

从Redux reducer中的react路由器检索参数,redux,react-router,react-router-redux,Redux,React Router,React Router Redux,我试图在调度操作时更改URL参数。它链接到实验中的下一个“案例”,并在URL中显示为整数。 我是如何想象的: 初始URL/experiment/2 已调度操作{type:'NEXT_CASE'} 新URL/experiment/3 研究 基于(尽管关于redux路由器),我想到我可以通过访问store.getState().routing,在reducer中检索当前路径/URL 但是我想要参数,在我的路由中定义和解析。(很明显,我可以从路径手动解析它们,但如果路径结构发生变化,这似乎不可扩展,也

我试图在调度操作时更改URL参数。它链接到实验中的下一个“案例”,并在URL中显示为整数。

我是如何想象的:
初始URL
/experiment/2

已调度操作
{type:'NEXT_CASE'}

新URL
/experiment/3

研究
基于(尽管关于
redux路由器
),我想到我可以通过访问
store.getState().routing
,在reducer中检索当前路径/URL

但是我想要参数,在我的路由中定义和解析。(很明显,我可以从路径手动解析它们,但如果路径结构发生变化,这似乎不可扩展,也不适合未来。)

当前解决方案
到目前为止,我的最佳尝试基于(他们说这不是用于客户端的):

问题

有没有简单的方法可以在reducer中检索当前路由的(已解析和命名的)参数?

我的答案是关于redux路由器的。redux路由器可以给你这种能力。(getState().router.params)谢谢,我实际上错过了这个区别。更新问题以反映差异,并肯定考虑使用<代码> ReDux路由器< /> >。但我认为,如何使用“常规”react router/
react router redux
组合来实现这一点仍然是相关的问题。
export default store => next => (action:Action<any>) => {
  if (action.type == Types.NEXT_CASE) {
    match(
      { routes: Routes, location: store.getState().routing.locationBeforeTransitions.pathname },
      (error, redirectLocation, renderProps: any) => browserHistory.push(RouteBuilder.experiment(parseInt(renderProps.params.caseIndex) + 1))
    );
  }

  return next(action);
}
export const RouteBuilder = {
  experiment: (caseIndex: number) => `/experiment/${ caseIndex }`
};

export const Routes = (
  <Route path="/" component={ Root }>
    <IndexRoute component={ Welcome } />
    <Route path="experiment/:caseIndex" component={ Experiment } />
  </Route>
);