首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用react中的json创建多页react路由器

使用react中的json创建多页react路由器
EN

Stack Overflow用户
提问于 2016-12-06 21:49:24
回答 1查看 781关注 0票数 0

如何使用react和react路由器创建多个页面,其中页眉和页脚将是静态的,内部内容图像、文本等将从.json文件中提取

我已经有这样的东西了

代码语言:javascript
复制
import React, { PropTypes } from 'react';
import withStyles from 'isomorphic-style-loader/lib/withStyles';
import s from './Contact.css';

const title = 'Contact Us';

function Contact(props, context) {
  context.setTitle(title);
  return (
    <div className={s.root}>
      <div className={s.container}>
        <h1>{title}</h1>
        <p>...</p>
      </div>
    </div>
  );
}

Contact.contextTypes = { setTitle: PropTypes.func.isRequired };

export default withStyles(s)(Contact);

我希望.json文件内容将替换{}中的值

EN

回答 1

Stack Overflow用户

发布于 2016-12-06 21:58:25

下面的链接提供了一个很好的嵌套导航示例。

https://github.com/ReactTraining/react-router/blob/master/docs/guides/RouteConfiguration.md

如果您查看本例中的路由配置,您将看到呈现的组件是嵌套的。

代码语言:javascript
复制
render((
  <Router>
    <Route path="/" component={App}>
      <Route path="about" component={About} />
      <Route path="inbox" component={Inbox}>
        <Route path="messages/:id" component={Message} />
      </Route>
    </Route>
  </Router>
), document.body)

aboutinbox路由将确保组件作为props.children传递到根组件(/),它可以像这样使用:

代码语言:javascript
复制
const App = React.createClass({
  render() {
    return (
      <div>
        <h1>App</h1>
        <ul>
          <li><Link to="/about">About</Link></li>
          <li><Link to="/inbox">Inbox</Link></li>
        </ul>
        {this.props.children}
      </div>
    )
  }
})

在本例中,您可以看到App组件是将始终呈现的根组件,因此这将是最适合放置页眉和页脚的位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40996940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档