2016-08-15 3 views
0

Как я могу указать, что компонент должен отображаться абсолютно перед любым другим компонентом?Reactjs render компонент перед другими компонентами

Я хочу указать, что <Footer /> и все дочерние компоненты нижнего колонтитула должны быть визуализированы перед любыми другими компонентами. Причина, по которой я хочу это, потому что у меня есть код, который зависит от html, который поддерживает нижний колонтитул, что означает, что ссылка на <Footer /> равна undefined в других компонентах, если <Footer /> не отображает первый.

Вот пример:

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

могли бы вы предоставить немного больше информации? Как минимальный образец кода, чтобы увидеть, какие ссылки вы говорите. –

+0

Я понял, что лучший способ сделать это - использовать другую RenderDOM и сначала визуализировать нижний колонтитул. –

ответ

0

Единственный способ я вижу вам сделать это:

  • Иметь информацию о визуализации статуса колонтитула в состоянии. (Предположим, что ваше имя это isFooterRendered и оно является логическим)
  • Вы установили isFooterRendered в false в исходное состояние.
  • Вы только визуализировать компоненты детей при isFooterRendered является true
  • В componentDidMountвы будете иметь ссылку на сноску установите isFooterRendered, чтобы быть правдой.

(Некоторые люди утверждают, что это плохо setState на componentDidMount, но в вашем случае выглядит законным прецеденту, помимо этого React Docs выставить similar example)

Смежные вопросы