我是第一次尝试在Rails中设置React路由器。路由器上的链接工作并按预期更改散列,但它不会呈现。我已经使用调试器缩小了问题范围,并找到以下内容:
发生了什么事?
var Route = ReactRouter.Route,
Link = ReactRouter.Link;
var App = React.createClass({
render: function(){
//line 6
return (
<div>
<h1>App</h1>
<ul>
<li><Link to="/todo">Todo</Link></li>
<li><Link to="/comment">Comment</Link></li>
</ul>
{this.props.children}
</div>
)
}
})
$(function(){
var MyRoutes = (
<Route path="/" handler={App}>
<Route path="/todo" name="todo" handler={TodoList} />
<Route path="/comment" name="comment" handler={Comment} />
</Route>
);
//line 22
ReactRouter.run(MyRoutes, function (Handler) {
React.render(<Handler/>, $("#application").get(0));
});
})
答案 0 :(得分:0)
我看了react-router-rails存储库。将this.props.children
替换为<RouteHandler {...this.props}/>
。但请记住,您必须按如下方式“导入”RouteHandler:var RouteHandler = ReactRouter.RouteHandler;
。那应该解决它。