2016-03-01 55 views
1

我有这段在不同组件之间切换的代码片段。 我想以简单的方式将值传递给不同的组件,像这样;如何将道具传递到具有ReactJS(和react-router)的反应路由器中

<Route path="student" component={Student} websocket={self.websocket}/> 

有没有简单的方法做到这一点?我曾看过克隆类等,但我不认为这些答案“足够好”,我想。我还没有找到类似的情况,希望有人能回答我的问题。

“full”中的代码;

ReactDOM.render(
 
<Router history={browserHistory}> 
 
    <Route path="/" component={App}> 
 
    <Route path="student" component={Student}/> 
 
    <Route path="about" component={About}/> 
 
    <Route path="login" component={LoginForm}/> 
 
    <Route path="oauth" component={Knapp}/> 
 
    </Route> 
 
</Router>, document.getElementById("container"));

回答

1

你可以做这样的事情

class Example extends React.Component { 
    constructor(props) { 
    super(props); 
    } 
    render() { 
    return (
     <h1> 
     Checking props - {this.props.route.foo} 
     </h1> 
    ); 
    } 

} 

var routes = (
    <Route path="/" foo="bar" component={Example}/> 
); 

,你也可以看看here如何做到这一点的另一种方式

我希望它会帮助你 谢谢

+0

叶啊,好建议。我不能真的让它像这样工作,不知道为什么,但每次我传入一个对象或字符串以外的任何东西时,我都会在Student-component中得到“undefined”。然而,我会更加注意这一点。谢谢您的回答。 –

+0

换句话说,你的答案可能适用于其他人! –