我是ReactJS的新手。我需要有一个公共标题,并根据路线更改来更改标题。我需要创建一个header.jsx文件并将其导入吗?否则,我该如何使用route渲染标题(公用文件)?
header.jsx
我的路由部分如下所示:
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.jsx'; import Home from './Home.jsx'; import { Router, Route, Link, browserHistory, IndexRoute } from 'react-router'; ReactDOM.render(( <Router history = {browserHistory}> <Route path = "/home" component = {Home} /> <Route path = "/" component = {App}> </Route> </Router> ));
这应该工作:
header.jsx:
class Header extends Component { render() { return (<div>Your header</div>); } }
first-page.jsx:
class FirstPage extends Component { render() { return (<div>First page body</div>); } }
第二页.jsx
class SecondPage extends Component { render() { return (<div>Second page body</div>); } }
app.jsx:
import Header from './header.jsx'; class App extends Component { render() { return ( <div> <Header /> {this.props.children} </div> ); } }
web-app.jsx:
import App from './app.jsx'; import FirstPage from './first-page.jsx'; import SecondPage from './second-page.jsx'; ReactDOM.render( <Router history = {browserHistory}> <Route path = "/" component = {App}> <Route path = "/first" component = {FirstPage}> <Route path = "/second" component = {SecondPage}> </Route> </Router> );