React Router DefaultRoute Not Rendering

时间:2015-07-08 20:10:48

标签: reactjs react-router url-routing react-jsx

我试图配置React-Router以使用我的应用程序(它还没有完成任务)。我试图使用此配置,但DefaultRoute不会呈现,只是基本路由。

var routes = (
    <Route path="/" handler={App}>
        <DefaultRoute handler={LoginForm} />
    </Route>
);

Router.run(routes, function(Handler) {
    React.render(<Handler />, document.body);
})

没有错误,LoginForm永远不会被渲染(尽管App确实如此)。 LoginForm和App都存在(因此它们应该能够呈现)。我只是误解了React-Router / DefaultRoute的工作方式吗?

1 个答案:

答案 0 :(得分:0)

根据documentationRouter.run的第二个参数应为Location个对象(HashHistory)。

var RouteHandler = Router.RouteHandler;
var Router = require('react-router');
var Route = Router.Route;

// declare our routes and their hierarchy
var routes = (
  <Route path="/" handler={App}>
    <DefaultRoute handler={Home}/>
    <Route path="about" handler={About}/>
    <Route path="inbox" handler={Inbox}/>
  </Route>
);

var App = React.createClass({
  render () {
    return (
      <div>
        <h1>App</h1>
        <RouteHandler/>
      </div>
    )
  }
});

Router.run(routes, Router.HashLocation, (Root) => {
  React.render(<Root/>, document.body);
});