我第一次尝试在 Rails 中设置 React 路由器。路由器上的链接可以正常工作并按预期更改哈希,但不会呈现。我已经缩小了调试器的问题范围,并找到了以下内容:
- MyRoutes(第 22 行,在 React 创建路由器之前)有 props.children。
- 应用程序(第 6 行,渲染时)没有 props.children。
到底是怎么回事?
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));
});
})