【发布时间】:2015-08-07 11:47:00
【问题描述】:
我想卸载一个反应组件,它属于一个包含三个组件的父组件。父组件有这个渲染功能:
render: function () {
return (
<div className={classes}>
<Navbar ref="navbar"/>
<Home ref="home"/>
<Footer ref="footer"/>
</div>
),
handleNavbarClick: function () {
// remove Home
}
如果用户随后单击导航栏中的链接并且我想卸载 Home 组件,我该怎么做?似乎我唯一的选择是做这样的事情(取自react.js: removing a component),但这看起来很恶心:
render: function () {
var home = this.state.remove_home ? null : <Home ref="home />
return (
<div className={classes}>
<Navbar ref="navbar"/>
{home}
<Footer ref="footer"/>
</div>
),
handleNavbarClick: function () {
this.setState({remove_home: true});
}
这是做事的适当反应方式吗?
【问题讨论】:
标签: reactjs reactjs-flux react-jsx