繁体   English   中英

ReactJS渲染组件先于其他组件

[英]Reactjs render component before other components

如何指定一个组件应绝对呈现在任何其他组件之前?

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

这是一个例子:

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

我为您看到的唯一方法是:

  • 使有关页脚处于状态渲染状态的信息。 (假设您的名称为isFooterRendered ,它是一个布尔值)
  • 在初始状态下,将isFooterRendered设置为false
  • 仅当isFooterRenderedtrue时才渲染子组件
  • componentDidMount 您将引用Footer ,将isFooterRendered设置为true。

(有人声称在componentDidMount上设置setState是不好的,但是在您的情况下,这看起来像是一个合法的用例,除了React Docs公开了一个类似的示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM