在this answer丹·阿布拉莫夫提到“继承是反应中的反模式”。
这与此代码有关,该代码来自我开始使用的框架:
class Home extends BasePage {
render() {
const { projects } = this.props;
return (
<div className="home-page container-fluid">
{super.render()}
<HomeLeftBar/>
<HomePageHeader/>
<ProjectsSummary/>
</div>
)
}
}
这个描述整个页面内容的组件是从BasePage继承的原因是因为在BasePage上实现了常见的功能 - 例如登录空闲超时。
处理这个问题的正确方法是什么,以避免“反模式”?