我正在使用React / React-Router / Redux创建一个博客,根据位置,我想显示不同的博客帖子,所以如果你在/category/cat1
,你就不会有相同的博客列表,而不是/category/cat2
。
所以我考虑将博客列表存储在商店中,我的反应组件会从那里拿起它,所以我可以让我的动作更新我的状态。
我的想法是听browserHistory
所以我可以在位置发生变化时触发并触发更新新博客列表的操作,但我无法找到如何从我的位置获取参数路径就像我从我的组件道具/category/:catName
我怎样才能获得这些参数? 它实际上是这样做的方式还是我应该采用不同的方法?
感谢。
答案 0 :(得分:0)
来自version 2.0.0 upgrade guide:
RoutingContext - >路由器渲染道具
现在,您可以将渲染道具传递给路由器,以便用于渲染。 这允许您创建参与的“中间件组件” 路由。它对于像Relay这样的库的集成至关重要, Redux,Resolver,Transmit,Async Props等。
默认基本上是这样的:
<Router render={props => <RouterContext {...props} />} />
render
上的Router
道具是渲染阶段的钩子,传递给函数的道具包含解析的路径参数,以及许多其他路由上下文。只需确保您的函数最终返回RouterContext
或某些等效函数。