Javascript React隐藏组件而不使用React路由器
我有4个组件。应用程序组件包含所有内容,菜单组件包含两个链接选项:常规和评论,以及我试图隐藏/显示的两个组件:常规组件和评论组件 如何使菜单组件最初显示常规组件,如果单击reviews链接,它将隐藏常规组件并显示reviews组件。然后,如果单击General component链接,它将隐藏reviews组件并显示General组件。我不需要使用路由器,因为我不改变链接,我只需要隐藏和显示组件Javascript React隐藏组件而不使用React路由器,javascript,reactjs,Javascript,Reactjs,我有4个组件。应用程序组件包含所有内容,菜单组件包含两个链接选项:常规和评论,以及我试图隐藏/显示的两个组件:常规组件和评论组件 如何使菜单组件最初显示常规组件,如果单击reviews链接,它将隐藏常规组件并显示reviews组件。然后,如果单击General component链接,它将隐藏reviews组件并显示General组件。我不需要使用路由器,因为我不改变链接,我只需要隐藏和显示组件 我有在应用程序状态上添加活动状态的想法,但不确定它将如何工作 在你的应用程序组件中,有一个状态项cu
我有在应用程序状态上添加活动状态的想法,但不确定它将如何工作 在你的应用程序组件中,有一个状态项
currentView
,它将保存你想要显示的页面,可以使用if和else,也可以在未选择选项时隐藏它们
class App extends React.Component {
constructor() {
this.state = {
currentView: 'general' // general|reviews|etc...
}
this.changeView = this.changeView.bind(this);
}
changeView(viewName) {
this.setState({
currentView: viewName
});
}
render() {
return (
<div className="menu">
{this.state.currentView !== 'general' && (
<a onClick={() => this.changeView('general')}>
General
</a>
)}
{this.state.currentView !== 'reviews' && (
<a onClick={() => this.changeView('reviews')}>
Reviews
</a>
)}
</div>
);
}
}
类应用程序扩展了React.Component{
构造函数(){
此.state={
currentView:'general'//general | reviews |等。。。
}
this.changeView=this.changeView.bind(this);
}
更改视图(视图名称){
这是我的国家({
currentView:viewName
});
}
render(){
返回(
{this.state.currentView!=='general'&&(
this.changeView('general')}>
一般的
)}
{this.state.currentView!=='reviews'&&(
this.changeView('reviews')}>
评论
)}
);
}
}
只需谷歌“react conditional render”,在这段代码中,review或General组件将放在哪里?我可以理解点击链接会改变链接的状态,但我只是做同样的事情来渲染组件?