Wal*_*lcz 1 javascript reactjs react-router
我是刚接触并尝试创建具有2个设计的应用程序的新手。一个是具有公共页眉和页脚的公共站点,以及具有管理页眉和侧边栏的内部应用程序。我创建了一个路由器和2条主要路线“ /”和“ / app”。然后,我添加了子路由,希望如果父路由器匹配,它将显示父组件,并将子路由的组件作为this.props.children传递。我似乎做错了。这是我创建的。
App.js:
...
class App extends Component {
render() {
return (
<Router>
<Switch>
<Route component={Public}>
<Route exact path="/" component={Home}/>
<Route path="/login" component={Login}/>
</Route>
<Route component={Main}>
<Route path="/dash" component={Dash}/>
<Route path="/people" component={People}/>
</Route>
</Switch>
</Router>
);
}
}
...
Run Code Online (Sandbox Code Playgroud)
公开的“模板”:
...
render(){
return(
<div>
I am a public page
{this.props.children}
</div>
)
}
...
Run Code Online (Sandbox Code Playgroud)
Home.js
...
class Home extends Component{
render(){
return(
<div>I am the home page</div>
)
}
}
...
Run Code Online (Sandbox Code Playgroud)
应用“模板”
...
class Main extends Component{
render(){
return(
<div>
<Header />
<div>I am an app page</div>
{this.props.children}
<Footer/>
</div>
)
}
}
...
Run Code Online (Sandbox Code Playgroud)
Dash.js
...
class Dash extends Component{
render(){
return(
<div>I am the dash page</div>
)
}
}
...
Run Code Online (Sandbox Code Playgroud)
谢谢,如果有人能告诉我或指向我提供好的资源,我将不胜感激!
小智 6
你真的很亲密!实际上,您需要做的是将模板组件作为父项放置在<Route />组件中。子组件是其开始和结束标记之间的组件。继续卡车!
class App extends Component {
render() {
return (
<Router>
<Switch>
<Public>
<Route exact path="/" component={Home}/>
<Route path="/login" component={Login}/>
</Public >
<Main>
<Route path="/dash" component={Dash}/>
<Route path="/people" component={People}/>
</Main>
</Switch>
</Router>
);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
789 次 |
| 最近记录: |