React 组件没有收到道具
React component is not receiving props
我试图将一些参数从 React Router 传递到我的组件,但由于某种原因,一旦组件被渲染,这些参数就不再存在。
这是我的代码:
路由器:
var routes = (
<Route handler={require('components/forum-app')}>
<DefaultRoute handler={require('components/post-list')}/>
<Route name='posts' handler={require('components/post-list')}/>
<Route name='post' handler={require('components/post')} path='/post/:postId'/>
</Route>
);
Router.run(routes, function(Handler, options) {
React.render(<Handler {...options}/>, document.body);
});
Post 分量:
var Post = React.createClass({
render: function() {
console.log(this.props);
return (
<div>
</div>
);
}
});
当我访问路由 #/post/post-1
时,post render 方法打印一个空对象。我已经检查并确保 Router.run
回调中的 options
变量具有属性。
如有任何帮助,我们将不胜感激。
您的 Post
class 嵌套在 forum-app
class 中。因此,您还应该将 forum-app
class 中的属性传递给它的嵌套组件:
<Router.RouteHandler {...this.props}/>
我试图将一些参数从 React Router 传递到我的组件,但由于某种原因,一旦组件被渲染,这些参数就不再存在。
这是我的代码:
路由器:
var routes = (
<Route handler={require('components/forum-app')}>
<DefaultRoute handler={require('components/post-list')}/>
<Route name='posts' handler={require('components/post-list')}/>
<Route name='post' handler={require('components/post')} path='/post/:postId'/>
</Route>
);
Router.run(routes, function(Handler, options) {
React.render(<Handler {...options}/>, document.body);
});
Post 分量:
var Post = React.createClass({
render: function() {
console.log(this.props);
return (
<div>
</div>
);
}
});
当我访问路由 #/post/post-1
时,post render 方法打印一个空对象。我已经检查并确保 Router.run
回调中的 options
变量具有属性。
如有任何帮助,我们将不胜感激。
您的 Post
class 嵌套在 forum-app
class 中。因此,您还应该将 forum-app
class 中的属性传递给它的嵌套组件:
<Router.RouteHandler {...this.props}/>