2015-10-12 28 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); 
}, 

希望有人帮助此答案!

相关问题