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}/>