2015-06-17 2 views
1

У меня есть макет страницы по умолчанию здесь с помощью реакции маршрутизатора:Реагировать макет страницы с помощью реакции-маршрутизатор

Header = require('./components/Header'), 
Footer = require('./components/Footer'), 


var sampleApp= React.createClass({ 

getDefaultProps() { 
    return { 
     title: 'Page One' 
    }; 
},  

render: function(){ 
    return (
     <div className="app"> 
      <Header title={this.props.title} /> 
      <RouteHandler /> 
      <Footer /> 
     </div> 
    ); 
}, 

}); 

var routes = (
<Route name="app" path="/" handler={sampleApp}> 
    <DefaultRoute name="home" handler={HomePage} /> 
    <Route name="add-school" handler={AddPage} /> 
</Route> 
); 

Router.run(routes, function(Handler){ 
var mountNode = document.getElementById('app'); 
React.render(<Handler /> , mountNode); 
}); 

Умею передать заголовок страницы в компонент заголовка выше? Вот одна из страниц, с заголовком, установленным в реквизитах по умолчанию.

var HomePage = React.createClass({ 

mixins: [Router.Navigation], 

getDefaultProps() { 
    return { 
     // set page title here 
     title: 'Page Two' 
    }; 
}, 

getInitialState: function() { 
    return { 
     tiles: null 
    } 
}, 

Название страницы не отображается и остается в качестве «одной страницы» по умолчанию в макете. Может кто-нибудь, пожалуйста, скажите мне, как я могу передать реквизиты до компонента заголовка?

ответ

0

Чтобы решить проблему, вы можете использовать такой компонент как react-document-title.

+0

Спасибо, как его настроить для использования с моим компонентом заголовка? – Bomber

+1

Просто оберните функцию рендеринга заголовка тегом DocumentTitle. Посмотрите примеры в документации библиотеки. – shadeglare

+2

Извините за проголосовавший, но вопрос здесь не в динамической настройке названия страницы в теге html , а в общении между компонентами, которые не являются дочерними/родительскими. –

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