使用 react-router 反应页面布局
React page layout using react-router
我这里有一个使用 React 路由器的默认布局页面:
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);
});
我能否将页面标题传递到上面的 header 组件中?这是其中一个页面,标题设置在默认属性中。
var HomePage = React.createClass({
mixins: [Router.Navigation],
getDefaultProps() {
return {
// set page title here
title: 'Page Two'
};
},
getInitialState: function () {
return {
tiles: null
}
},
页面标题未显示,在布局中保持默认 'page one'。谁能告诉我如何将道具传递给 header 组件?
您可以使用react-document-title这样的组件来解决问题。
我这里有一个使用 React 路由器的默认布局页面:
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);
});
我能否将页面标题传递到上面的 header 组件中?这是其中一个页面,标题设置在默认属性中。
var HomePage = React.createClass({
mixins: [Router.Navigation],
getDefaultProps() {
return {
// set page title here
title: 'Page Two'
};
},
getInitialState: function () {
return {
tiles: null
}
},
页面标题未显示,在布局中保持默认 'page one'。谁能告诉我如何将道具传递给 header 组件?
您可以使用react-document-title这样的组件来解决问题。