Reactjs在其他组件之前呈现组件

时间:2016-08-15 11:27:55

标签: javascript reactjs

如何指定组件应该在任何其他组件之前完全呈现?

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

以下是一个例子:

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

1 个答案:

答案 0 :(得分:0)

我认为你这样做的唯一方法就是:

  • 获取有关状态中页脚的呈现状态的信息。 (让我们假设你的名字为isFooterRendered,它是一个布尔值)
  • 您在初始状态下将isFooterRendered设置为false
  • 您只在isFooterRenderedtrue
  • 时呈现子组件
  • componentDidMount 中,您将引用页脚,将isFooterRendered设置为true。

(有些人声称setState componentDidMountfor不好,但在您的情况下看起来像一个合法的用例,除了React Docs公开similar example