2016-08-15 76 views
0

如何指定组件应在任何其他组件之前完全渲染?Reactjs在其他组件之前渲染组件

我想指定<Footer />和页脚的所有子组件应在任何其他组件之前呈现。 我想要这样做的原因是因为我的代码依赖于页脚渲染的html,这意味着如果<Footer />不首先渲染,则其他组件中对<Footer />的引用是undefined

下面是一个例子:

export default class Layout extends React.Component { 
    ... 
    render(){ 
     return (
      <Body /> 
      <Footer /> //Render first 
     ); 
    } 
} 
+0

你能否提供一些更多的细节?就像最低代码样本一样,看看你在谈论哪种引用。 –

+0

我认为最好的方法是使用另一个RenderDOM,并首先单独渲染页脚。 –

回答

0

我看到你做到这一点的唯一方法是:

  • 对自己在状态页脚的呈现状态的信息。 (让我们假设你的名字是isFooterRendered,它是一个布尔值)
  • 你设置isFooterRenderedfalse在初始状态。
  • 你只渲染孩子部件时isFooterRenderedtrue
  • componentDidMount你将不得不页脚参考,设置isFooterRendered是真实的。

(一些人认为是不好的setStatecomponentDidMount但在你的情况看起来像一个合法的使用情况下,除了从反应文档暴露similar example

相关问题