【问题标题】:React page layout using react-router使用 react-router 响应页面布局
【发布时间】:2015-06-17 07:34:56
【问题描述】:

我这里有一个使用 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);
});

我可以将页面标题传递到上面的标题组件中吗?这是其中一页,标题设置在默认道具中。

var HomePage = React.createClass({

mixins: [Router.Navigation],

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

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

页面标题不显示,并在布局中保持默认的“第一页”。谁能告诉我如何将道具传递给标题组件?

【问题讨论】:

    标签: javascript reactjs react-router


    【解决方案1】:

    您可以使用react-document-title 之类的组件来解决问题。

    【讨论】:

    • 谢谢,如何配置它以与我的标题组件一起使用?
    • 只需使用 DocumentTitle 标记包装您的标题渲染函数。查看库文档中的示例。
    • 很抱歉投了反对票,但这里的问题不是关于在 html 的 标记中动态设置页面标题,而是关于非子/父组件之间的通信。
    猜你喜欢
    • 2021-12-27
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多