2016-03-01 58 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

換句話說,你的答案可能適用於其他人! –