2015-10-12 25 views
0

我正在使用React創建一個Web應用程序。我正在面對導航欄和主要內容的問題。讓我們來看看這個問題:從另一個組件獲取參數[React JS]

AppWrapper我有這樣的:

var contents = [ 
    <Offers />, 
    <Create />, 
    <List /> 
]; 

,其中每個項目將顯示內容。

在getInitialState我初始化:

getInitialState: function() { 
    return { 
    currentTab: 0 
    }; 
}, 

後來,在渲染功能我有這樣的:

return (
    <div> 
    <Navbar /> 
    <div className='mainPanel'> 
     {contents[this.state.currentTab]} 
    </div> 
    </div> 
); 

請參閱我的內容之前調用導航欄組件。

導航欄組件我有地方,從那裏,我想改變的AppWrapper的currentTab的菜單。

我該怎麼做?感謝您的提前!

回答

0

試圖處理它後,我發現如何做到這一點。

這是答案:

<Navbar selectTab={this.selectTab} /> 

selectTab: function(tab) { 
    this.setState({ currentTab: tab }); 
} 

我傳遞給導航欄組分母體(AppWrapper)的功能「selectTab

然後,在導航欄組件:

<li> 
    <a onClick={this.selectTab.bind(this, 0)}><i className="fa fa-dashboard fa-fw" /> Dashboard</a> 
</li> 
<li> 
    <a onClick={this.selectTab.bind(this, 1)}><i className="fa fa-edit fa-fw" /> Create</a> 
</li> 

然後在selectTab的Navbar我將道具更改爲當前選項卡。

selectTab: function(tab) { 
    this.props.selectTab(tab); 
}, 

希望有人幫助此答案!

相關問題