gpt4 book ai didi

javascript - 带有母版页/模板的 React Router V4 路由器

转载 作者:行者123 更新时间:2023-11-30 07:51:59 24 4
gpt4 key购买 nike

我对 react 和尝试创建具有 2 种设计的应用程序还比较陌生。一个是具有通用页眉和页脚的公共(public)站点,以及具有管理页眉和侧边栏的内部应用程序。我创建了一个 Router 和 2 个主要路由 '/' 和 '/app'。然后我添加了子路由,希望如果父路由器匹配,它会显示父组件并将子路由的组件作为 this.props.children 传递。我好像做错了。这是我创建的。

应用程序.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>
);
}
}
...

公共(public)"template":

...
render(){
return(
<div>
I am a public page
{this.props.children}
</div>

)
}
...

首页.js

...
class Home extends Component{
render(){
return(

<div>I am the home page</div>
)
}
}
...

应用"template"

...
class Main extends Component{
render(){
return(
<div>
<Header />
<div>I am an app page</div>
{this.props.children}
<Footer/>
</div>
)
}
}
...

破折号

...
class Dash extends Component{
render(){
return(
<div>I am the dash page</div>

)
}
}
...

谢谢,如果有人能告诉我或指出好的资源,我将不胜感激!

最佳答案

你真的很接近!您需要做的实际上是将模板组件作为父组件放在 <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>
);
}
}

关于javascript - 带有母版页/模板的 React Router V4 路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51085464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com