我刚开始学习React,我正在尝试创建一个SPA博客,它有一个全球定位的固定 Headers .
import React from 'react';
import { render } from 'react-dom';
// import other components here
render((
<Router history={browserHistory}>
<Route path="/" component={Home} />
<Route path="/About" component={About} />
<Route path="/Contact" component={Contact} />
<Route path="*" component={Error} />
</Router>
), document.getElementById('app'));
所以,每条路线都有相同的 Headers ,从我的角度背景,我会在ui-view之外使用 Headers .
在每个单独的页面组件中导入 Headers 组件是一个很好的做法,还是可以在 <Router><myHeader/><otherRoutes/></Router>
上添加 Headers 组件?
Update:
我想用这样的东西:
路由组件,我在其中定义路由:
class Routes extends React.Component {
render() {
return (
<Router history={browserHistory}>
<IndexRoute component={Home} />
<Route path="/studio" component={Studio} />
<Route path="/work" component={Work} />
<Route path="*" component={Home} />
</Router>
)
}
}
然后在主要的Index.js文件中,我想渲染类似于:
import Routes from './components/Routes';
render((
<div>
<div className="header">header</div>
<Routes />
</div>
), document.getElementById('app'));
有人可以解释一下吗?谢谢!
2 回答
根据我的经验,为页面定义布局组件可能会很好,例如...
布局组件
然后,将布局导入到每个页面组件中......
联系页面组件
并且您可以保持路由相同,您的路线将呈现联系页面,然后将呈现您的 Headers .
通过这种方式,您可以控制多个页面上的重复内容,如果您需要一个或两个稍微不同的页面,则可以创建另一个布局并使用它 .
我发现这种方式很有用:
信用额度:David Kerr