At Facebook, we use React in thousands of components, and we haven't found any use cases where we would recommend creating component inheritance hierarchies.
this.props.children
компонента MainContainer, его рендер должен возвращать что-то вроде этого:<div>
<Header />
<Menu />
<div className="content">
{this.props.children}
</div>
<Footer />
</div>
<MainContainer>
{/* Контент */}
</MainContainer>