我试图配置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的工作方式吗?
答案 0 :(得分:0)
根据documentation,Router.run
的第二个参数应为Location
个对象(Hash
或History
)。
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);
});