反应路由器传递数据
Posted
技术标签:
【中文标题】反应路由器传递数据【英文标题】:react router pass data 【发布时间】:2015-10-19 00:50:48 【问题描述】:我有一个简单的反应路由器:
<Route handler=AppRoot>
<Route name="about" handler=About />
<Route path="/projects" handler=Projects />
<Route path="/projects/experiments" handler=Projects />
</Route>
我对两条不同的路线使用相同的处理程序。在组件中,我想相应地做不同的事情。我怎样才能做到这一点?我应该使用window.location
检查当前网址吗?这听起来不对。请注意,我不想在这里使用参数。
我的第二个问题是关于传递数据的:
<Route path="/projects" handler=Projects projects=projects />
以上示例不起作用,如何将集合从路由器传递到组件?
【问题讨论】:
【参考方案1】:你可以在你的 Projects 组件中使用上下文访问路由器,然后获取路由器的当前路径:
var Projects = React.createClass(
contextTypes :
router : React.PropTypes.func
,
render : function ()
var routerPath = this.context.router.getCurrentPath();
...
);
至于传递集合,目前还不太清楚你要实现什么场景,给我们一些细节。无论如何,我相信有比将集合传递给路由器更好的方法。
【讨论】:
以上是关于反应路由器传递数据的主要内容,如果未能解决你的问题,请参考以下文章