React Router:在RouteHandler ref上调用组件函数

时间:2015-07-22 17:42:20

标签: reactjs react-router

我试图在子组件RouteHandler上调用组件函数。

var Bar = React.createClass({
  baz: function() {
    console.log('something');
  },
  render: function() {
    return <div />;
  },
});

var Foo = React.createClass({
  baz: function() {
    this.refs['REF'].baz();
  },
  render: function() {
    return <RouteHandler ref="REF" />;
  },
);

其中RouteHandlerBarthis.refs['REF'].bazundefined

有关组件功能的更多信息,请参阅https://facebook.github.io/react/tips/expose-component-functions.html

1 个答案:

答案 0 :(得分:0)

我不相信react-router目前支持在RouteHandler上公开组件功能,当前的hacky解决方法是:

this.refs['REF'].refs['__routeHandler__'].baz();

请参阅https://github.com/rackt/react-router/issues/1597