Reactjs React router:如何在渲染组件中获取对路由器的引用?

Reactjs React router:如何在渲染组件中获取对路由器的引用?,reactjs,react-router,Reactjs,React Router,React路由器正在呈现我的组件“App”。(这是react路由器的1.0.0版) 我需要从“应用程序”内部获取路由器的引用。这可能吗 我之所以需要这样做,是因为“App”正在呈现Breadcrumbs——这是react Breadcrumbs v的一个实例。1.0.2-and react breadcrumbs期望路由器位于此.content上。(看起来react breadcrumbs希望路由器能做到这一点)。无论如何我已经知道如何从应用程序中设置上下文(使用childContextType

React路由器正在呈现我的组件“App”。(这是react路由器的1.0.0版)

我需要从“应用程序”内部获取路由器的引用。这可能吗

我之所以需要这样做,是因为“App”正在呈现Breadcrumbs——这是react Breadcrumbs v的一个实例。1.0.2-and react breadcrumbs期望路由器位于此.content上。(看起来react breadcrumbs希望路由器能做到这一点)。无论如何我已经知道如何从应用程序中设置上下文(使用childContextTypes和getChildContext),但我看不出如何在正在渲染的组件中获取对路由器的引用。

您可以使用上下文(React的一个当前未记录的功能,但似乎暂时还保留):

您可以使用上下文(React的一个当前未记录的特性,但似乎暂时还可以使用):


您可以将Router.History mixin添加到应用程序中,然后通过this.props.routes访问路由

以下是一个例子:

var React = require("react");
var Router = require("react-router");
var Breadcrumb = require("react-breadcrumbs");

var App = React.createClass({
   mixins: [
      Router.History
   ],

   render: function () {
      "use strict";

      return (
      <div>
          <Breadcrumb routes={this.props.routes}></Breadcrumb>
          <div>
              {this.props.children}
          </div>
      </div>);
   }
});

module.exports = App;
var React=require(“React”);
var路由器=要求(“反应路由器”);
var Breadcrumb=require(“react Breadcrumb”);
var App=React.createClass({
混合:[
路由器,历史
],
渲染:函数(){
“严格使用”;
返回(
{this.props.children}
);
}
});
module.exports=App;

您可以将Router.History mixin添加到应用程序中,然后通过this.props.routes访问路由

以下是一个例子:

var React = require("react");
var Router = require("react-router");
var Breadcrumb = require("react-breadcrumbs");

var App = React.createClass({
   mixins: [
      Router.History
   ],

   render: function () {
      "use strict";

      return (
      <div>
          <Breadcrumb routes={this.props.routes}></Breadcrumb>
          <div>
              {this.props.children}
          </div>
      </div>);
   }
});

module.exports = App;
var React=require(“React”);
var路由器=要求(“反应路由器”);
var Breadcrumb=require(“react Breadcrumb”);
var App=React.createClass({
混合:[
路由器,历史
],
渲染:函数(){
“严格使用”;
返回(
{this.props.children}
);
}
});
module.exports=App;

从react router 1.x开始,此项不再有效。路由器组件可以使用this.props.params.state访问此文件,其他组件显然无法访问react router 1.x的参数。此文件不再有效。路由器组件可以使用this.props.params.state访问此文件,其他组件显然无法访问params